个职业程序员的作法 使用组合 使用继承 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 6 一个职业程序员的作法 ◼ 使用组合 ◼ 使用继承
使用组合 首先需要改造 SimplestWindow以便于重用 代码。 新建一个类,以 SimplestWindow的一个对 象作为类成员 实例: Use Composition EXample java 2021/2/24 北京理工大学计算机系 7
2021/2/24 北京理工大学计算机系 7 使用组合 ◼ 首先需要改造SimplestWindow以便于重用 代码。 ◼ 新建一个类,以SimplestWindow的一个对 象作为类成员 ◼ 实例:UseCompositionExample.java
使用继承 新建一个 RedWindow类,从 SimplestWindows中派生出来 实例: UseInherits Example java 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 8 使用继承 ◼ 新建一个RedWindow类,从 SimplestWindows中派生出来 ◼ 实例:UseInheritsExample.java
组合Vs继承 对比两个示例: 1)使用组合的可以使用 SimplestWindow 的所有 Public方法,因而灵活度高 (2)使用继承的代码特别少,使用者不需 要了解 SimplestWindow的任何细节 面向对象设计通用原则 组合优先于继承 2021/2/24 北京理工大学计算机系 9
2021/2/24 北京理工大学计算机系 9 组合 vs 继承 ◼ 对比两个示例: (1)使用组合的可以使用SimplestWindow 的所有Public方法,因而灵活度高 (2)使用继承的代码特别少,使用者不需 要了解SimplestWindow的任何细节。 ◼ 面向对象设计通用原则: 组合优先于继承
继承的语法 Cass子类名 extends父类名 父类( parent class)=基类( base class)= 超类( super class 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 10 继承的语法 Class 子类名 extends 父类名 { …… } 父类(parent class)=基类(base class)= 超类(super class)