抽象类的特点总结

xiaoxiao2021-02-27  592

抽象类的特点总结

c#允许把类和函数声明为abstract,抽象类不能实例化,抽象类可以包含普通函数和抽象函数,抽象函数就是只有函数定义,没有函数体。显然抽象函数本身也是虚拟的virtual(只有函数定义,没有函数体实现)。

类是一个模板,那么抽象类就是一个不完整的模板,我们不能使用一个不完整的模板去构造对象。

Abstract class Building

{

Public abstract decimal CalCulatePrice();

}

抽象类的特点:

1.抽象成员必须标记为abstract,并且不能有任何实现。

2.抽象成员必须在抽象类中。

3.抽象类不能被实例化。

4.子类继承抽象类后,必须把父类中的所有抽象成员都重写。除非子类也是一个抽象类,在则可以不重写。

5.抽象成员的访问修饰符不能是private

6.在抽象类中可以包含实例成员,并且抽象类的实例成员可以不被子类实现。

7.抽象类是有构造函数的,虽然不能被实例化。

8.如果父类的抽象方法中有参数,那么继承这个抽象父类的子类在重写父类的方法的时候,必须传入对应的参数。

9.如果抽象父类的抽象方法中有返回值,那么子类在重写这个方法的时候也必须要传入返回值。

10.如果父类的方法有默认的实现,并且父类需要被实例化,这时可以考虑将父类定义为普通类,用虚方法来实现多态。

11.如果父类的方法没有默认实现,父类也不需要被实例化,则可以将该类定义为抽象类。

转载请注明原文地址: https://www.6miu.com/read-445.html

最新回复(0)