面向对象的设计三大特征:二 多态

2018-06-17 19:18:20来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

多态的两个明显的特点:

1. 从父类继承而来的子类可以转换成其父类。

2. 父类中的virtual方法,每个子类都可以override各自的方法;当用父类来引用这些子类,同样的操作而可以表现出不同的操作结果,就是多态。

 

子类继承基类的所有方法,字段,属性,事件。子类可以选择:

1. Override 基类中的virtual成员

    a. 只有方法、属性、事件和索引器(Indexers)可以是virtual,字段(Fields)不可以为virtual。

    b. 继承类只能override基类的virtual或abstract成员。

2. 继承基类的virtual成员,不去override

3. 用new去重写基类中非virtual的成员

密封(Sealed Override)

基类含有virtual成员,它的继承类(各个级别)都可以override。如果希望停止覆写需要用sealed override。之后的类只能用new去重新定义方法。

D classD = new D();

classD.DoWork();                  //调用方法D

A classA = new A();

 classA = (A)classD;               //方法也具有继承性,调用方法C

B和C都可以override A中的方法, 但是C用了Sealed, D就不能再override Dowork()方法了,只能用New; 当用父类去引用子类时(A指向D),我们发现override方法沿用继承的特性,由上至下直到找到方法C,并调用之。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:C#学习笔记-ContextMenuStrip

下一篇:[30分钟]MSSQL快速入门教程