您的位置:首页 > 其它

[UML]UML系列——类图class的泛化关系

2014-03-14 22:04 288 查看
原文:[UML]UML系列——类图class的泛化关系

系列文章

[UML]UML系列——用例图Use Case

[UML]UML系列——用例图中的各种关系(include、extend)

[UML]UML系列——类图Class

[UML]UML系列——类图class的关联关系(聚合、组合)

[UML]UML系列——类图class的依赖关系

泛化关系的引入

在现实生活中,有时会出现一类事物具有另一类事物的全部特点,除此之外还有自身的特点。

例如:

public class TKorean : TMan  //定义韩国人类
{
public TKorean(string x)
{
name = x;
}

public override void sayHello()
{
Console.WriteLine(name+"韩国人说韩语");
}
}


韩国人

class Program
{
static void Main(string[ ] args)
{
TMan x;

x = new TChinese("张三");
x.sayHello();

x = new TAmerican("John");
x.sayHello();

x = new TFrench("苏非");
x.sayHello();

x = new TKorean("金知中");
x.sayHello();
}
}


(代码中有省略,只是来说明问题)

多态的实现机制

子类覆盖父类同名的方法。

当一个类被继承时,他的方法也就被其子类继承。这种继承可以是无条件的继承全部旧方法,也可以重新编写新方法来覆盖旧方法。

多态就是指不同对象收到相同消息时,会产生不同行为,同一个类在不同的场合下表现出不同的行为特征
多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

总结

泛化关系还是比较容易理解的,泛化可能不知道,但是继承,作为程序员不可能不知道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐