inheritance - 因为我们可以使用简单的单级继承获得相同的感觉,所以我们什么时候需要虚函数?

标签 inheritance

虽然我们可以通过继承类并增强基类中函数的功能来感受到虚函数的感觉,但我们什么时候应该使用虚函数呢?

最佳答案

当您想在基类中提供默认行为时,应使用虚拟方法。然后,子类可以重写此函数并提供自己的更具体的行为。

例如:

  class Animal
  { 
   public virtual void Say() 
   { 
      //default behaviour
      Console.WriteLine("Animal makes generic noise"); 
   } 
  } 

  class Dog : Animal
  { 
    public override void Say()
    { 
      //specific behaviour
      Console.WriteLine("Dog barks.");
    } 
  } 

关于inheritance - 因为我们可以使用简单的单级继承获得相同的感觉,所以我们什么时候需要虚函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3500800/

相关文章:

java - 从父类获取字符串到子类的概念?

inheritance - 一个结构是否可以扩展现有结构,同时保留所有字段?

C、结构指针多态

php - 在 PHP 中使用继承将多个子类的数据添加到数组

C++ 我可以根据给单个构造函数的参数创建派生类而不是 bass 类吗?

java - 扩展 CustomDialog,edittext 始终为空

c++ - 如何修复由多态性引起的错误?

c++ - 派生类如何从基类继承静态函数?

c# - 如何实现用更具体的类型覆盖基础成员的效果?

c++ - 做一个不能实例化的类?