面向对象基础-继承02(继承中两个类的关系、优缺点)

继承中两个类的关系

继承中两个类的名称:

​ 关键字extends表明正在构造一个新的类继承自一个已存在的类。这个被继承的类,我们称之为:

​ 1,超类(superclass)

​ 2,基类(base class)

​ 3,父类(parent class)

​ 继承其他类的类被称为:

​ 1,子类(subclass)

​ 2,派生类(derived class)

​ 3,孩子类(child class)

​ 在Java的英文文档中,普遍使用超类(superclass)和子类(subclass)这一对词语

​ 在国内,普遍使用父类和子类

从属关系上:

​ 子类和父类表现为“is-a”的关系,仔细来说是“子类is-a父类”,也就是说子类可以看成是一个父类。反之则不行

​ 三个层次解释:

​ 1,代码层次。父类的引用指向一个子类的对象,语法上正确。

​ 2,逻辑层次。

​ a,宏观设计。子类是继承父类的成员基础上还能添加新的成员,子类是父类的扩展,子类一定是一个父类。

​ b,微观构成。类是一种自定义数据类型,包括成员变量和成员方法。子类继承了父类的成员,实际上完全可以作为一个父类使用。

​ 3,最直观的,教师是人,学生是人。

功能丰富程度上(补充):

​ 尽管父类也被称作超类,但实际上子类的功能要比父类多,子类可以扩展父类

继承的优缺点

练习

  • 在一款游戏中,我们有很三种类型的鸭子,这些鸭子都有共同属性,都可以叫(cry),都可以游泳(swim)
  • 应该怎么编写这些鸭子类?
  • 需求更改了,这些鸭子不能游泳了,但是都会飞(fly)
  • 最后我添加了一种鸭子,第四种鸭子,这个鸭子不会飞

继承的好处与坏处

通过一个鸭子游戏,我们发现

  • 好处
    • 继承的出现减少了代码冗余,提高了代码的复用性
    • 继承的出现,更有利于功能的扩展,提升可维护性
    • 多态的前提(后面讲)
  • 弊端
    • 父类中对成员进行修改,会体现到每一个子类中,我们不可选择具体哪个子类生效
      • 当儿子的坏处

继承的优点:

​ 1,代码复用(方法,类)

​ 2,提高了代码的可维护性(这是一把双刃剑)

​ 3,弱化Java中的类型约束(多态的前提)

继承的缺点:

​ 父类的修改可能会出现在所有子类中(我们无法选择这些修改可以反应在,哪些子类中,不可以反应在哪些子类中)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值