面向对象的老三良特征与五雅核心条件。面向对象的老三单着力元素(封装是借助封装数据),五个主导条件。

http://blog.csdn.net/zhang2531/article/details/52052453

其三只着力要素:

面向对象的编程方法是为着解决系统的可维护性、可扩展性、可重用性。系统的急需是变的,如果要求大增还是修改,就用全体推到重来是效率低下的;不应当重过去轮子,你勾勒一个单链表,他形容一个,这样又的做事是得消除掉的。

1.
包裹: 封装是管过程以及数码包围起来,对数码的访只能通过既定义之界面。面向对象计算起为斯基本概念,即现实世界得以于描写成一多级完全自治、封装的目标,这些目标通过一个吃保障的接口访问其他对象。
2.
延续: 继承是平种联结类的层次模型,并且同意和鼓励类的选定,它提供了平等种大庭广众表述共性的章程。对象的一个新类可以从现有的近乎吃派生,这个过程称为类继承。新类继承了原始类的表征,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以于它的基类那里继承方法及实例变量,并且类可以改要增新的不二法门而的重新可特殊之用。 
3.
多态: 多态性是指允许不同类的靶子对平消息作出响应。多态性包括参数化多态性和带有多态性。多态性语言有灵活、抽象、行为共享、代码共享的优势,很好之化解了应用程序函数同名问题。

面向对象与面向过程的分

C++中的虚函数的图重大是实现了多态的建制。关于多态,简而言之便是因此父类型别的指针指为其子类的实例,然后经过父类的指针调用实际子类的分子函数。这种技术可以于父类的指针有“多种状”,这是平栽泛型技术。所谓泛型技术,说白了不畏是打算利用未变换的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是准备就以编译时决议,要么试图完成运行时决议。

前者是纪传体,如史记按人线索写,后者是编年史,按年代写。BS谈普通类的优点和OOP的巨大的远在。面向过程是结构数据加以计(算法+数据=程序),面向对象是拿数据与方法封装在合,对象中传递信息。系统类有各种设备,如果不用几近态,需要为每个设备的调用都勾起接口,有了多态,设备就给架空为同样栽接口,调用时动态分派具体设备的艺术。


public继承是用于表明“is-a”的干,如果是”has-a”的关联,用整合。

五个着力尺度:
纯任务规范(Single-Resposibility
Principle):一个好像,最好才开一样宗事,只发生一个滋生她的变动。单一任务规范得以看成是亚耦合、高内集于面向对象原则达成的引申,将任务定义为引起变化的由,以提高内聚性来压缩引起变化的因。
开放封闭原则(Open-Closed
principle):软件实体应该是不过扩大的,而不可修改的。也就是,对扩大开放,对修改封闭的。
Liskov替换原则(Liskov-Substituion
Principle):子类必须能够替换其基类。这同一心想体现为对后续机制的羁绊规范,只有子类能够替换基类时,才会保证系统在运行期内识别子类,这是承保持续复用的根基。
借助于倒置原则(Dependecy-Inversion
Principle):依赖让肤浅。具体而言就是高层模块不依赖让底层模块,二者都和因让肤浅;抽象不因让具体,具体指让肤浅。
接口隔离原则(Interface-Segregation
Principle):使用多独小之特别的接口,而并非采取一个杀之总接口必威体育。

1、封装、继承、多态。

http://m.blog.csdn.net/blog/misslong/18411249

必威体育 1  

五坏中心规则

单纯任务规范(Single-Responsibility
Principle)。“对一个近乎而言,应该仅仅发生一个滋生她生成之缘由”。本标准是我们熟悉的“高内聚性原则”的引申,以增长内聚性来减少引起变化之缘故。

开放封闭原则(OCP)。“软件的效力应该是好扩展的,而尽可能的无改”。修改程序可能会见造成原来的次序错误,不克改,但是好增长效果。对扩大是开的,对反是查封的。更改封闭是咱本着模块进行扩张时,不需对源代码进行修改或重复编译文件。

里氏替换原则(the Liskov Substitution Principle LSP)。派生类可以替换基类出现在基类能够出现的旁地方;

靠倒置原则(the Dependency Inversion Principle DIP)。传统的结构化编程中,最上层之模块通常还依赖下面的子模片来兑现,即高层依赖底层,DIP就是逆转这种涉及。

接口分离原则(the Interface Segregation Principle ISP)
。模块间如果经过架空接口隔离开,而未是由此实际的类强耦合起来。

 

相关文章