C#继承与多态 virtual虚方法的使用 在子类中使用override重写父类函数
生活随笔
收集整理的這篇文章主要介紹了
C#继承与多态 virtual虚方法的使用 在子类中使用override重写父类函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本片文章講的是多態
子類重寫父類函數的方式如下:在父類函數使用virtual,在子類函數中使用override
注意定義變量的時候要使用new來創建,而不要使用類名 變量名的方式,否則在使用時會報錯“使用了未賦值的局部變量”。
代碼
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApp1 {class Program{public static void Main(string[] args){Zoo zoo = new Zoo();Dog dog = new Dog();Cat cat = new Cat();Monkey monkey = new Monkey();zoo.show(dog); //"我是小狗,我喜歡吃肉"zoo.show(cat); //"我是小狗,我喜歡吃肉"zoo.show(monkey); //"我是猴子,我喜歡吃桃子"Animal animal = new Animal();animal.likeFood();}}class Animal{public virtual void likeFood(){Console.WriteLine("我是Animal類,我不知道喜歡吃啥");}}class Dog : Animal{public override void likeFood(){Console.WriteLine("我是小狗,我喜歡吃肉");}}class Cat : Animal{public override void likeFood(){Console.WriteLine("我是小貓,我喜歡吃魚");}}class Monkey : Animal{public override void likeFood(){Console.WriteLine("我是猴子,我喜歡吃桃子");}}class Zoo{public void show(Animal animal){animal.likeFood();}} }輸出結果
我是小狗,我喜歡吃肉
我是小貓,我喜歡吃魚
我是猴子,我喜歡吃桃子
總結
以上是生活随笔為你收集整理的C#继承与多态 virtual虚方法的使用 在子类中使用override重写父类函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#多线程 我的第一个多线程程序
- 下一篇: 【C# interface接口】对接口的