标签:9.png 包含 das div 部分 关系 dash 特殊 结构
继承(inheritance)是软件重用的一种方式,程序员通过继承可以吸收已有类的数据和行为来创建新类,并可以添加新的数据和行为来增强类的功能。创建新类时,并不需要创建全新的数据和成员函数,我们可以指明这个新类应当继承现有类的成员。此时,现有的类称为“基类”,继承实现的新类称为“派生类”。派生类代表了一组更加特殊化的对象,它包含了从基类继承来的行为,并进行了扩充。
类是对现实中事物的抽象,类的继承和派生的层次结构则是对自然界中事物分类、分析的过程在程序设计中的体现。下图说明了某个公司雇员的派生关系。位于最高层的雇员其抽象程度最高,是最具一般性的概念。最下层抽象程度最低,最具体。从上层到下层是具体化的过程,从下层到上层是抽象话的过程。面向对象设计中上层与下层是基类与派生类的关系。
依照面向对象的理念:当某个概念用语言的基本类型不能具体表示时,就应当定义一个新的类型(class)。一个概念一般不是独立存在的,通常与其相关的概念共存,以此发挥更大的作用。当某个概念与其他概念之间存在关系时,应当在相应的类型之间也表示出这样的关系。
类之间的关系主要有以下两种:
(1)“has a”:A car has wheels, engines, …
(2)“is a”:A Manager is an Employee.
‘“has a”的表示方式-聚集(Integration)
一个车有四个轱辘一个引擎。
这里的关系实质上是聚集中的组合。整体拥有各部分,部分与整体共存,如果整体不存在了,部分也会消失,这称之为组合。
class Car { Wheel ws[4]; Engine e[1]; // ... };
孤立的类只能描述实体集合的特征同一性,而客观世界中实体集合的划分通常还要考虑实体特征方面有关联的相似性。
“相似”无非是既有共同点,又有差别:
(1)内涵的相似性:在客观世界中具有一般——特殊的关系(is a)。例如:雇员(Employee)—经理(Manager)。
(2)结构的相似性:具有相似的表示。例如:array、vector。
那如何表示相似的事物?
标签:9.png 包含 das div 部分 关系 dash 特殊 结构
原文地址:https://www.cnblogs.com/wkfvawl/p/10717509.html