有人能给Java中的每个人提供很小的代码片段,这些代码片段将对我真正理解封装,信息隐藏,抽象与数据隐藏有很大帮助吗?

最佳答案

封装=信息隐藏=数据隐藏。执行某些任务不需要别人知道的信息。

class Girl {
  private int age;
  Girl(int age) {
    this.age = age;
  }
  public boolean willGoOutWithGuy(boolean isGuyUgly) {
    return (age >= 22) && (!isGuyUgly);
  }
}

class Guy {
  private Girl girl = new Girl();
  private boolean isUgly = true;
  public boolean willGirlGoOutWithMe() {
    return girl.willGoOutWithGuy(isUgly);
  }
  // Guy doesn't have access to Girl's age. but he can ask her out.
}

抽象=同一接口(interface)的不同实现。
public interface Car {
  public void start();
  public void stop();
}

class HotRod implements Car {
  // implement methods
}

class BattleTank implements Car {
  // implement methods
}

class GoCart implements Car {
  // implement methods
}

这些实现都是唯一的,但是可以绑定(bind)在Car类型下。

09-27 21:28