如何把UML关系转化为代码2015-01-09
1、继承关系(泛化关系)
【说明】:继承关系是子类(派生类)继承父类(基类),或者子接口继承父接口的关系。即子类对象“is a” 父类对象,比如鸟是动物。【UML图】:

图解:Animal为父类,Bird类、Fish类、Dog类分别继承了Animal类,它们不仅继承了Animal的公用方法Breath(),同时也根据自己的实际需要拓展了相关方法(Fly()方法、Swim()方法、Run()方法)。【对应代码】:
//Animal类(父类): class Animal {public void Breath() { } }//Bird类、Fish类和Dog类(子类): class Bird : Animal{public void Fly() { }}class Fish : Animal{public void Swim() { }}class Dog : Animal{public void Run() { }}
【画龙点睛】:★说明子类可以继承所有父类非private的属性和方法,并且可以根据实际情况进行拓展(增加属性或方法),如上例中的Fly()方法就是鸟类对动物类的拓展;★类只可以有单继承(一个子类只可以继承一个父类,一个父类可以由多个子类继承),接口可以有多继承(一个子接口可以继承多个父接口)。
2、实现关系
【说明】:实现关系就是类实现接口的关系。以下引用《大话设计模式》中的例子来说明。【UML图】:

图解:机器猫、孙悟空、猪八戒都可以变出东西来,但又因为其他动物并不像他们三个一样具有这种超能力,因此并不能直接把这个方法加到父类Animal中去,而需要把“变出东西”这种方法抽象出一个名为“变东西”的接口,到时候让具有这种超能力的动物们(比如机器猫、孙悟空、猪八戒)直接去实现这个接口。