上QQ阅读APP看书,第一时间看更新
1.2.2 继承泛化关系
继承泛化关系就是常说的继承关系,派生类继承基类,基类被看作“一般设计”,派生类被看作“特殊设计”,因此继承泛化关系也被看作一般与特殊的关系,在UML类图中用“实线+实心箭头”表示,其中箭头指向基类。
例如,动物类会走路、吃东西和发声,猫类和狗类继承动物类,猫类会爬树而狗类会看门,并且它们发声的方式也不一样。用UML类图表示的动物类、猫类和狗类的关系如图1-3所示。
▲图1-3 继承泛化关系
图1-3说明了继承泛化关系的UML类图的组成,基类动物类Animal含有保护(protected)类型的成员变量animalName和animalColor,走路方法OnFoot()和吃东西方法Eat()是动物的共性,不同的发声方式Say()被定义为虚接口。派生类猫类Cat和狗类Dog继承自动物类Animal,实现具体的Say()方法;并且Cat类有自身独有的爬树方法OnTree(),Dog类有自身独有的看门方法LookDoor(),这样就完成了继承并且实现了扩展的功能。