程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 繼承(通俗理解),

C# 繼承(通俗理解),

編輯:C#入門知識

C# 繼承(通俗理解),


看了上篇的 《C# 屬性(通俗理解)》之後繼續往下。當讓你實現很多動物都要實現這個方法然後輸出結果,於是代碼變成這樣:

 1 namespace ConsoleApplication7
 2 {
 3     public class Dog
 4     {
 5         private string name;
 6         public string Name
 7         {
 8             get { return name; }
 9             set { name = "新鮮的"+value; }
10         }
11         public void Show()
12         {
13             Console.WriteLine("小狗喜歡吃:"+name);
14         }
15     }
16 
17     public class Mouse
18     {
19         private string name;
20         public string Name
21         {
22             get { return name; }
23             set { name = "新鮮的" + value; }
24         }
25         public void Show()
26         {
27             Console.WriteLine("老鼠喜歡吃:" + name);
28         }
29     }
30 
31     public class Panda
32     {
33         private string name;
34         public string Name
35         {
36             get { return name; }
37             set { name = "新鮮的" + value; }
38         }
39         public void Show()
40         {
41             Console.WriteLine("熊貓喜歡吃:" + name);
42         }
43     }
44 
45 
46 }

調用前台的代碼:

 1 namespace ConsoleApplication7
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             Dog dog = new Dog();
 8             dog.Name = "骨頭";
 9             dog.Show();
10             //輸出結果// 小狗喜歡吃:骨頭
11 
12 
13             Cat cat = new Cat();
14             cat.Name = "魚";
15             cat.Show();
16             //輸出結果// 小貓喜歡吃:魚
17 
18             Mouse mouse = new Mouse();
19             mouse.Name ="大米";
20             mouse.Show();
21             //輸出結果// 老鼠喜歡吃:魚
22 
23             Panda panda = new Panda();
24             panda.Name = "竹子";
25             panda.Show();
26             //輸出結果// 熊貓喜歡吃:魚
27 
28             Console.ReadKey();
29 
30         }
31     }
32 }

如你所見,在各種動物類裡面,每個動物類都有重復的name這個字段,也就是寫了很多重復的代碼,如何把重復的代碼只要寫一遍就好?於是用到了繼承,什麼是繼承?繼承是子類繼承了父類,就能擁有父類的東西,比如:你爸有1000W,你繼承了你爸的財產,你就可以使用這1000W了。

所以在這裡把字段name寫到父類裡,我這裡聲明一個父類叫:Animal吧。

 1 namespace ConsoleApplication7
 2 {
 3     public class Animal
 4     {
 5         protected string name;
 6         public string Name
 7         {
 8             get { return name; }
 9             set { name = "新鮮的" + value; }
10         }
11     }
12 }

其它動物類都要去繼承Animal類如下:

 1 namespace ConsoleApplication7
 2 {
 3     public class Cat : Animal
 4     {
 5         public void Show()
 6         {
 7             Console.WriteLine("小貓喜歡吃:" + name);
 8         }
 9     }
10 
11     public class Dog : Animal
12     {
13         public void Show()
14         {
15             Console.WriteLine("小貓喜歡吃:" + name);
16         }
17     }
18 
19     public class Mouse : Animal
20     {
21         public void Show()
22         {
23             Console.WriteLine("老鼠喜歡吃:" + name);
24         }
25     }
26 
27     public class Panda : Animal
28     { 
29         public void Show()
30         {
31             Console.WriteLine("熊貓喜歡吃:" + name);
32         }
33     }
34 
35 }

前台代碼不變,看看結果:

這就體現了復用性,重復的地方只要寫一次。

 

  1. 上一頁:
  2. 下一頁: