Sunday, October 31, 2010

c# 多态

多态性事一个面向对象的概念,它允许以相似的方式来对待所有派生类,尽管这些派生类是各不相同的。创建派生类的目的是为了获得更多的特殊功能。

允许同一种功能,有多种实现。

多态:
方法:
重载(编译时多态)
虚方法(运行时多态)
抽象方法(运行时多态)
委托

类:(侧重于“血缘”-继承)
继承

接口(侧重于相同的功能)

虚方法:父类要做,但是子类可以用不同的方法来做。
virtual关键字: 允许子类重新实现(定义在父类里)
override关键字: “重写”,在子类中,重新实现父类中的virtual方法(定义在子类里)
sealed override关键字: 子类重写后,不允许在子类的子类里再重新写了

1.父类的引用,指向子类的实例(里氏替换原则)
OOP的思想里关于继承的描述:
子类对象可以代替父类对象;
父类对象不能代替子类对象;
父类的方法可以在子类中重写。

plate p = new helicopter()

plate: 父类
helicopter: 子类,继承自plate

2.调用基类的方法
base.function();

No comments: