抽象函数不具备功能。你基本上是在说,任何一个子类必须给出他们自己的这个方法的版本,但是它太普遍甚至不能尝试在父类中实现。
一个虚函数 ,基本上就是说看,这里的功能对于子类来说可能是也可能不够好。因此,如果它足够好,请使用此方法,如果没有,则覆盖我,并提供您自己的功能。
抽象函数没有实现,只能在抽象类上声明。这会强制派生类提供实现。虚函数提供默认实现,它可以存在于抽象类或非抽象类中。例如:
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
)。