今天学习C# 如何使用继承
构建了一个基类Mammal;构建了一个子类Horse;同时在基类和子类中创建了构造函数,在运行子类Horse实例的时候,编译器先调用基类的构造函数并进行了输出;再调用子类的构造函数并输出;
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApp76 8 { 9 //基类 10 public class Mammal 11 { 12 public Mammal() 13 { 14 Console.WriteLine("i am 基类构造函数"); 15 } 16 17 public void Sing() 18 { 19 Console.WriteLine("I am a Animal!"); 20 } 21 } 22 //派生类 23 public class Horse : Mammal 24 { 25 public Horse() 26 { 27 Console.WriteLine("i am 派生类构造函数!"); 28 } 29 30 public void Jiao() 31 { 32 Console.WriteLine("I am a Ma!"); 33 } 34 } 35 class Program 36 { 37 static void Main(string[] args) 38 { 39 Horse horse = new Horse(); 40 41 } 42 } 43 }
在子类和基类中定义签名相同的方法Sing(),并使用horse.sing();进行调用,输出结果是子类的方法中的内容;
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApp76 8 { 9 //基类 10 public class Mammal 11 { 12 public Mammal() 13 { 14 Console.WriteLine("i am 基类构造函数"); 15 } 16 17 public void Sing() 18 { 19 Console.WriteLine("I am a Animal!"); 20 } 21 } 22 //派生类 23 public class Horse : Mammal 24 { 25 public Horse() 26 { 27 Console.WriteLine("i am 派生类构造函数!"); 28 } 29 30 public void Sing() 31 { 32 Console.WriteLine("I am a Ma!"); 33 } 34 } 35 class Program 36 { 37 static void Main(string[] args) 38 { 39 Horse horse = new Horse(); 40 horse.Sing(); 41 42 } 43 } 44 }
原文:https://www.cnblogs.com/chenlight/p/12492712.html