抽象函数和虚函数有什么区别?

抽象函数和虚函数有什么区别?建议在哪种情况下使用虚拟或抽象?哪种方法最好?



慕码人2483693
浏览 694回答 3
3回答

慕侠2389804

抽象函数不能具有功能。您基本上是在说,任何子类都必须提供自己的该方法的版本,但是它太笼统了,甚至无法尝试在父类中实现。虚函数基本上是在说看,这里的功能对于子类来说可能足够好,也可能不够好。因此,如果足够好,请使用此方法;否则,请覆盖我并提供您自己的功能。

吃鸡游戏

抽象函数没有实现,只能在抽象类上声明。这迫使派生类提供实现。虚函数提供了默认实现,它可以存在于抽象类或非抽象类上。因此,例如:public abstract class myBase{    //If you derive from this class you must implement this method. notice we have no method body here either    public abstract void YouMustImplement();    //If you derive from this class you can change the behavior but are not required to    public virtual void YouCanOverride()    {     }}public class MyBase{   //This will not compile because you cannot have an abstract method in a non-abstract class    public abstract void YouMustImplement();}

猛跑小猪

只有abstract班级可以有abstract成员。一个非abstract类从继承abstract类必须 override的abstract成员。一个abstract成员是隐式virtual。一个abstract成员不能提供任何实现(abstract被称为pure virtual在某些语言)。
打开App,查看更多内容
随时随地看视频慕课网APP