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 重载与重写
重载
- 方法重载是指在一个类中,多个方法的方法名相同,但是参数列表

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



