面向对象的三大基本特征 和 五大设计原则

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.
面向对象的三大基本特征 三大特性是:封装,继承,多态  
1.抽象与封装: 抽象是把系统中需要处理的数据和在这些数据上的操作结合在一起,根据功能、性质和用途等因素抽象成不同的抽象数据类型。 每个抽象数据类型既包含了数据,又包含了针对这些数据的授权操作。在面向对象的程序设计中,抽象数据类型是用“类”这种结构来实现的,每个类里都封装了相关的数据和操作。 封装是指利用抽象数据类型和基于数据的操作结合在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据之外被授权的操作,才能与这个抽象数据类型进行交互。   2. 继承: 它是与传统方法不同的一个最有特色的方法。它是 面向对象的程序中两个类之间的一种关系,即一个类可以从另一个类(即它的父类)继承状态和行为。 继承父类的类称为子类。 继承的优越性:通过使用继承,程序员可以在不同的子类中多次重新使用父类中的代码,使程序结构清晰,易于维护和修改,而子类又可以提供一些特殊的行为,这些特殊的行为在父类中是没有的 。   3.多态: 是指一个程序中同名的方法共存的情况,调用者只需使用同一个方法名,系统会根据不同情况,调用相应的不同方法,从而实现不同的功能 。多态性又被称为“ 一个名字,多个方法 ”。   所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着, 虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
一、三个基本特征   面向对象的三个基本特征是:封装、继承、多态。

图表 1 泛化 在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generalization)。Person(人)是基类,Teacher(教师)、Student(学生)、Guest(来宾)是子类。 若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。 例如,教师是人,Teacher 是Person的“一种”(a kind of )。那么类Teacher可以从类Person派生(继承)。 如果A是基类,B是A的派生类,那么B将继承A的数据和函数。 如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能和属性。 若在逻辑上B是A的“一种”(a kind of ),则允许B继承A的功能和属性。   聚合(组合)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年3月11日
下一篇 2018年3月11日

相关推荐