-
面向对象
- 以类/对象为组织代码的基本单元
- oop:面向对象编程
- ooa:面向对象分析
- ood:面向对象设计
-
封装,抽象,继承,多态
创建好的时候就确定:在构造函数中初始化- 封装:访问权限控制(private,protected,public)
- 作用:隐藏/保护访问数据,外部仅能通过有限的接口访问、修改内部数据
- 易用性
- 可维护性
- 抽象:隐藏方法具体实现
- 隐藏实现
- 关注功能点而不是实现
- 继承:表示类之间is-a关系
- 作用:代码复用
- 坏处:继承多导致可读性,可维护性差
- 多态:
- 作用:子类可替换父类
- 两个类具有相同的方法,就可以实现多态
- 提高可扩展性,可复用性
- 封装:访问权限控制(private,protected,public)
-
面向对象比面向过程优势
- 特点:
- 面向过程:代码被组织成一组方法集合及其数据结构,方法数据结构分开
- 面向对象:方法和数据结构绑定在一起,类中
- 优点
- 能够因对大规模复杂程序开发
- 业务建模
- 翻译成类
- 建立交互关系
- 搭积木一样,按处理流程,将类组装成程序
- 易复用,易扩展,易维护
- 封装:数据与方法绑定
- 抽象:隐藏实现
- 继承:复用代码
- 多态:子类替换
- 人性化,高级,智能
- 能够因对大规模复杂程序开发
- 特点:
-
哪些看是面向对象实际面向过程
- 不要滥用getter,setter方法
- 全局变量全局方法:
- 拆解为功能单一的多个类
- 贫血开发模式:数据方法分离
-
接口与抽象类的区别
- 抽象类
- 表示is-a关系
- 代码复用
- 接口
- 表示has-a关系
- 侧重于解耦
- 抽象类
-
为什么基于接口而非实现编程
- 越抽象、越顶层、越脱离具体的设计,越能提高代码的灵活性。
- 接口是一组“协议”或者“约定”
- 接口意识,抽象意识,封装意识
- 接口:将实现和接口分离,封装不稳定的实现,暴露稳定的接口
-
多用组合少用继承原因
- 继承问题:继承层次过深,继承关系过于复杂会影响代码可读性与可维护性
- 问题及处理
- is-a关系:用组合和接口替代
- 多态:用接口
- 代码复用:组合与委托
- 使用场景:
- 结构稳定
- 继承层次浅
- 继承关系不复杂
- 解决:组合,接口,委托
- 问题及处理
- 组合
- 使用场景
- 系统不稳定
- 继承层次深
- 继承关系复杂
- 使用场景
- 继承问题:继承层次过深,继承关系过于复杂会影响代码可读性与可维护性
java面向对象深入理解
最新推荐文章于 2023-09-14 16:34:10 发布