首页 > 解决方案 > 在普通类中拥有虚拟方法和在抽象类中拥有抽象方法之间的核心区别?

问题描述

我知道抽象类的子类必须使用抽象方法。但是具有虚方法的普通类不需要相同的方法。那我们为什么需要抽象类呢?除了隐私之外,有这个要求的目的是什么?为什么要抽象而不是虚拟?

标签: c#abstract

解决方案


抽象类定义了抽象方法,这些方法是需要被任何派生类覆盖的方法。这些方法没有实现,并留给派生类来实现它的方法。

类上的虚拟方法是已经具有实现的方法,但如果派生类选择这样做,它可能会覆盖该方法并提供自己的实现。


推荐阅读