编程语言
首页 > 编程语言> > C#z中的虚方法,抽象类

C#z中的虚方法,抽象类

作者:互联网

1.虚方法

我在这动物类中定义了一个虚方法 Dosth

    class Animal
    {
        public int Aid;
        public string Name;
        public void SetAid(int i)
        {
            Aid = i;
        }
        public void SetName(string s)
        {
            Name = s;
        }
        public virtual string Dosth()
        {
            return null;
        }

    }

 

然后定义了一个猫的类和狗的类  都继承于动物类

 class Dog : Animal
    {
        public override string Dosth()
        {
            base.Dosth();
            return "汪汪汪汪汪汪汪汪";
        }
    }
  class Cat : Animal
    {
        public override string Dosth()
        {
            base.Dosth();
           return "喵喵喵喵喵喵";
        }
    }

猫和狗 虽然都是动物  都有动物编号 自己的爱称  但是叫声不一样 

所以虚方法的实现状态就不一样

但是动物也可以是哑巴动物 不叫   也就代表着 虚方法可以在子类中实例化  也可以不去实例化

但是非虚方法 就必须去实现

base.Dosth()是可有可无的,这个语句表示 使用基类里的方法  

不使用这行代码  那就不执行里面的内容

注意:当父类中有一个方法 在父类中没有任何意义时,必须要子类进行重写才有意义的话,这种情况就需要使用抽象方法。

 

标签:Animal,Dosth,string,C#,汪汪,抽象类,方法,public
来源: https://www.cnblogs.com/codezhao/p/10417920.html