码迷,mamicode.com
首页 > 其他好文 > 详细

7. 泛化(Generalization)

时间:2016-07-25 16:20:25      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

  什么是泛化关系?用一个例子简单的说:假设A是B和C的父类,B、C具有公共类(父类)A,说明A是B、C的一般化(概括,也称泛化),B、C是A的特殊化。

  在编程上,泛化关系(Generalization)就是我们常说的继承关系,称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛化关系用带空心三角形的直线来表示。

  在代码实现时,使用面向对象的继承机制来实现泛化关系,如在Java语言中使用extends关键字、在C++/C#/OC中使用冒号“:”来实现。

  UML示例图如下所示:

 技术分享

 

  在UML当中,对泛化关系有三个要求:

  • 子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;
  • 子类中除了与父类一致的信息以外,还包括额外的信息;
  • 可以使用父类的实例的地方,也可以使用子类的实例。

 

7. 泛化(Generalization)

标签:

原文地址:http://www.cnblogs.com/LeeGof/p/5703537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!