【吉林大学Java程序设计】第4章:类的复用和多态

1.类的复用

在这里插入图片描述

1.1 组合(整体和部分)

在这里插入图片描述

  • 合成:A类中包含B类的一个引用b,当A类的一个对象消亡时,b这
    个引用所指向的对象也同时消亡。如人与手,即在“人”中对“手”用new赋初值
  • 聚合:b所指向的对象还会有另外的引用指向它。如人与电脑,
    没有赋初值的过程,需要外界传过来
    在这里插入图片描述

组合进行类的复用的优缺点

  • 优点:
    • 新对象对成员对象的内部细节看不见,使用者无需关注成员对象的具体实现。(“黑盒复用”)
    • 这种复用所需的对象间依赖较少,关系简单。
    • 每一个新的类可以将焦点集中在一个任务上,执行效率高
  • 缺点:系统中要管理较多的对象,使得设计复杂

1.2 继承(一般和特殊)

在这里插入图片描述

在这里插入图片描述

继承的语法

使用extends关键字,例:

class Person{
   
   } 
class Student extends Person {
   
   }

注意:Java只支持单继承,不允许多继承(即一个子类只能有一个基类)

  • 子类包括超类的所有成员(这些成员是看做是子类自己的成员),它没有权限访问超类中被声明成private的成员(父类的独立性)。

在这里插入图片描述

Java继承的特征

  • 继承关系是传递的。
  • 继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
  • 继承提供了软件复用功能。(“白盒复用”)
  • 继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。
  • Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。

继承进行类的复用的优缺点

  • 优点:
    • 超类的大部分功能可以通过继承的关系自动进入子类,新类的实现、修改和扩展较为容易
  • 缺点:
    • 继承将超类的实现细节暴露给子类,继承复用可能破坏类的封装性
    • 从超类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性,只能在有限的环境中使用。

1.3 访问控制

  • Java设定四种访问权限:public、protected、default、private
  • 对于class的权限修饰只可以用public和default

注意:由于Java有了包(package)的概念,访问控制符与C++的有所不同,public、protected、default都能被同一个包中的类访问
在这里插入图片描述
权限大小排行:private<default<protected<public
在这里插入图片描述

1.4 重载与重写

重载

  • 方法重载是指在一个类中,多个方法的方法名相同,但是参数列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值