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()是可有可无的,这个语句表示 使用基类里的方法
不使用这行代码 那就不执行里面的内容
注意:当父类中有一个方法 在父类中没有任何意义时,必须要子类进行重写才有意义的话,这种情况就需要使用抽象方法。
原文地址:https://www.cnblogs.com/codezhao/p/10417920.html
时间: 2024-10-08 04:43:15