【JavaBase】09-面向对象之抽象与接口预案.pptxVIP

  • 18
  • 0
  • 约6.8千字
  • 约 32页
  • 2017-04-08 发布于湖北
  • 举报

【JavaBase】09-面向对象之抽象与接口预案.pptx

Java程序设计与开发基础 09 面向对象之抽象与接口 Java Program Design Development Essential 谢钟扬 抽象类 接口 接口与抽象的区别 1 2 3 抽象类 代码练习: 根据如下类图,编码实现 抽象类 现象与思考: 形状(Shape)类,求周长(getPerimeter())和求面积(getArea())方法,无法写出具体的实现,因为不确定是何种具体的形状。对于这种现象: 方案1:形状(Shape)类中不写这两个方法,由子类去自行定义? 方案2:形状(Shape)类中这两个方法方法体留空,由子类去覆盖? 上述两种方案的区别在哪? 方案1意味着:形状类没有求周长和求面积的行为。如果将子类对象向上转型为形状对象使用的话,就不能进行求周长和求面积的操作。 方案2意味着:形状类有求周长和求面积的行为,但是没有实现方法体,如果对一个形状类的对象调用这两个方法,什么也不做。 抽象类 我们希望: 通过形状(Shape)类来指定所有的形状都可以求周长和面积。 但是形状类本身并不会求周长和面积,只有其具体的某个子类知道如何求自己的周长和面积。 为了防止形状类的对象去调用未知的求周长和面积的方法,要禁止形状类创建对象,而只允许其子类创建对象(因为只有子类才知道如何求自身的周长和面积)

文档评论(0)

1亿VIP精品文档

相关文档