继承(父类为虚方法以及子类的重写)

Posted 努力奋斗吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承(父类为虚方法以及子类的重写)相关的知识,希望对你有一定的参考价值。

定义父类为虚方法时需要关键字  virtual

子类重写需要关键字  override

示例代码:

 //父类
   public class People
    {
        //虚方法
        //VR Virtual Reality  虚拟现实
        //AR Augmented Reality 增强现实
        public virtual void SayHello()
        {
            Console.WriteLine("父类打招呼的方法");
        }

}

 

 //子类(重写父类方法)
  public  class Chinese:People
    {
      public override void SayHello()
      {
          Console.WriteLine("你好!");
      }
    }

 

 


    //子类
    public class American:People
    {
        public override void SayHello()
        {
            Console.WriteLine("Hello");
        }
    }

 

 

 

 public  static void Main(string[] args)
        {
          //统一调用
            List<People> list = new List<People>()
           {
            new Chinese(),
            new American()
           };

            People people = new People();
            people.SayHello();
            foreach (People item in list)
            {
                item.SayHello();
            }
            Console.ReadKey();
        }

 

以上是关于继承(父类为虚方法以及子类的重写)的主要内容,如果未能解决你的问题,请参考以下文章

虚方法和抽象类

如果父类有一个虚方法,子类重写了这个方法。那么子类到底有没有继承父类的虚方法??

C++ 怎样禁止子类重写父类的某个虚函数?

多态虚方法重写

面向对象--多态虚方法重写抽象类接口

C++编程中 子类(派生类)能不能重写父类(基类)的函数(方法),除了虚函数?