JAVA面向对象三大特性,六大原则

做了这么久开发,今天第一次听说面向对象的6大原则,之前一直只知道3大特征,真是惭愧。


三大特性:

封装:是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

多态:类实例的一个方法在不同情形下有不同的表现形式,即不同的外在行为。使具有不同的内部结构的对象可以共享相同的外部接口。


六大原则:

1.遵循单一职责原则
一个类只专注于做一件事; 
高内聚,低耦合;

2.开放-封闭原则

对拓展开放,对修改关闭(尽可能不动原有代码进行拓展); 
高内聚,低耦合; 

为达到目的,需对系统进行抽象化设计(关键); 

3.里氏代换原则(LSP)

子类必须能够替换它们的基类型,基类与子类可互换,客户端没有察觉情况下; 
低耦合; 

很容易实现同一父类下的各个子类的互换,而客户端可以毫不察觉;

4.依赖倒置原则

这个是开闭原则的基础,具体内容:面向接口编程,依赖于抽象而不依赖于具体。写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互。

5.接口隔离原则(Interface Segregation Principle)

使用多个专一功能的接口比使用一个总接口总要好,但不能过渡; 
一个接口不能过于臃肿; 
高内聚 
会使一个软件系统功能拓展时,修改的压力不会影响到别的对象那去; 

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

又叫最少知识原则; 
对象与对象之间应该使用尽可能少的方法来关联,避免千丝万缕的关系; 
低耦合; 
类知道其他类应尽量少; 
类可以访问其他类的方法或者属性也应尽量少;

猜你喜欢

转载自blog.csdn.net/dhj199181/article/details/81001386