C#多态的抽象方法

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:29:38
如果基类为含有抽象方法的抽象类,是否每个继承它的子类都必须有这个抽象方法的具体实现呢,还是只要任意一个子类实现就可以?

所有继承这个抽象类的子类都必须实现这个抽象方法

abstract(C# 参考)

abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。

MSDN上也说了,抽象类的抽象成员要由派生类来实现

是这样的,每一个继承自这个基类的子类,都应当重写这个方法。如果有多个实例化的过程,同一个基类的对象引用不同子类的实例。或者是多个子类进行实例化,那么这些子类是继承自基类的,但是实现的代码都在子类里,每一个子类的实现代码都不一样(即使方法的名字相同,但是实现的方法不一样),会产生不同的结果,这个就是多态机制