面向对象的三个基本要素和五个基本设计原则

一、面向对象的三个基本要素: 继承、封装、多态。 二、五个基本原则: 1 单一职责原则(Single-Resposibility Principle) 一个

一、面向对象的三个基本要素:

继承、封装、多态。

二、五个基本原则:

1.单一职责原则(Single-Resposibility Principle)

 一个类,最好只做一件事。只有一个方向引起它的变化;

个人经验:具体做法就是分模块进行封装,不要写一个功能复杂的类。

2.开放封闭原则(Open-Closed principle) 

对扩展开放,对修改封闭的。

1)、对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

2)、对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对其进行任何尝试的修改 。

个人经验:如果一个类要修改最好采用属性或方法注入的方式(采用接口),即依赖注入;或者采用继承的方式;

3.Liskov替换原则(Liskov-Substituion Principle)

 子类必须能够替换其基类

个人经验:基类是个超级类(抽象类或一个接口),子类实现时要实现一些必要方法;

4.依赖倒置原则(Dependecy-Inversion Principle)

 依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。依赖于抽象,就是对接口编程,不要对实现编程。 

个人经验:将具体被调用类的实现封装起来(使用接口或抽象类),提供接口给具体调用的类;

5.迪米特法则(Law of Demeter)

又叫最少知识原则(Least Knowledge Principle LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。 

个人经验:尽量少暴露类的方法和属性。接口隔离,使用多个小的专门的接口,而不要使用一个大的总接口。