C#派生類中使用基類protected成員的方法


我們知道C#中通過繼承可以使一個具有公共數據和方法的基類被廣泛應用從而減少代碼量,這樣派生類會具有基類中所有成員(除構造器等),我們理所當然可以通過派生類實例來使用基類的成員。那么當基類成員被protected修飾時,我們應該怎么在派生類中使用基類成員呢,下面將介紹使用方法。

首先我們貼一段錯誤的使用代碼:

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Console.ReadLine();
 6       
 7         }
 8     }
 9     public class Person
10     {
11         protected string Name
12         {
13             set { name = value; }
14             get { return name; }
15         }
16         private string name;
17     }
18     public class Student:Person
19     {
20         public void Method(Person person)
21         {
22              person.Name="rurui";
23          }
24     }

在派生類中我們不能引用基類的實例來作用基類成員,而我們應該使用派生類的實例來使用,如下代碼:

 1 class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Console.ReadLine();
 6         }
 7       
 8         public class Person
 9         {
10             protected string Name
11             {
12                 set { name = value; }
13                 get { return name; }
14             }
15             private string name;
16         }
17         public class Student : Person
18         {
19            public void Method(Person person)
20             {
21                 Student stu = person as Student;
22                 stu.Name = "rurui";
23             }
24            
25         }
26     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM