Java基础5:面向对象程序设计特性和原则

1. 面向对象的三大特性

- 封装性

(1).良好的封装能够减少耦合

(2).类内部的结构可以自由修改 , 而不会影响其他类的调用

(3).可以对内部成员进行更精确的控制

(4).隐藏成员信息 , 不想让其他类看到的实现细节

- 继承性

实现了代码复用

- 多态性

(1). 不同类的对象对同一个方法执行了不同的代码

(2). 执行期间判断引用对象的实际类型 , 然后根据类型调用其方法 , 这被称为动态绑定

(3).可以消除类型之间的耦合关系

2. 面向对象设计的五大基本原则:

- 单一职责原则SRP(Single Responsibility Principle)

(1) 一个类只能承担一个职责

(2) 为了实现高内聚低耦合

(3) 例如公司部门 , 每个部门都有自己单一的职责

- 开放封闭原则OCP(Open-Close Principle) 

(1). 对于扩展是开放的

(2). 对于更改是封闭的

(3). 例如电脑 , 像CPU只有运算功能 , 如果要新增硬盘存储功能 , 只能扩展 , 而不能修改CPU

-里式替换原则(the Liskov Substitution Principle LSP) 

(1). 一个对象使用的是父类的话 , 那么也一定适用于其子类对象

(2)子类应该可以在任何地方替换父类

- 依赖原则(the Dependency Inversion Principle DIP)

(1). 高层次的模块不应该依赖于低层次的模块

(2). 例如B类依赖于A类 , B可以定义一个抽象接口 , 并由A来实现这个接口 , B就只是用这个抽象接口

(3). 这样就是实现了依赖倒置, 不是B依赖A , 而是A依赖B的抽象接口

- 接口分离原则(the Interface Segregation Principle ISP) 

(1). 当一个接口过于庞大的时候 , 尽量细化接口 , 可以为各个类建立专用的接口

(2). 程序设计中 , 依赖几个专用的接口比依赖一个综合接口更加灵活


猜你喜欢

转载自blog.csdn.net/gethinyang/article/details/79197790