面向对象的理解

面向对象的三大特性

封装

继承

多态

面向对象的七大原则

单一职责原则:每一个类应该专注于做一件事情。即高内聚,低耦合。类的功能要单一,体积不要过于庞大。

开闭原则:一个对象对扩展开发,对修改关闭。即:对类的改动是通过增加代码进行的,而不是修改现有代码。一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。比如:一个网络模块,原来只提供服务端功能,而现在要加入客户端功能,name应当在不用修改服务端功能的代码前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

里氏替换原则:在任何父类出现的地方都可以用它的子类来替代。子类应当可以替换父类并出现父类能够出现的任何地方。比如,公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则公司就不和谐了。

依赖倒置原则:要依赖于抽象,不要依赖于具体实现。

接口隔离原则:应当为客户提供尽可能小的单独的接口,而不是提供大的总的接口。接口的定义的标准尽可能单一,致力于对接口的多实现。接口规模不要臃肿。

迪米特原则:一个对象应当尽量少的与其他对象之间发生相互作用,是得系统功能模块相对独立。降低耦合

组合/聚合复用原则:尽量使用组合/聚合的方式,而不是使用继承。降低耦合度

简单来说:软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。有软硬件的耦合,还有软件各模块之间的耦合。

总的来说:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:

如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。

 

你可能感兴趣的:(面向对象的理解)