C# 类的继承 派生子类 NEW关键隐藏父类中的方法(函数)

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6.   
  7. namespace _10关键字_new  
  8. {  
  9.     class Program  
  10.     {  
  11.         static void Main(string[] args)  
  12.         {  
  13.             Reporter rep = new Reporter("记者", 11, '男', "偷拍");  
  14.             rep.SayHello();  
  15.             rep.Test();  
  16.             Console.ReadKey();  
  17.         }  
  18.     }  
  19.   
  20.     public class Person  
  21.     {  
  22.         private string _name;  
  23.         public string Name  
  24.         {  
  25.             get { return _name; }  
  26.             set { _name = value; }  
  27.         }  
  28.         private int _age;  
  29.         public int Age  
  30.         {  
  31.             get { return _age; }  
  32.             set { _age = value; }  
  33.         }  
  34.         private char _gender;  
  35.         public char Gender  
  36.         {  
  37.             get { return _gender; }  
  38.             set { _gender = value; }  
  39.         }  
  40.   
  41.   
  42.         public Person(string name, int age, char gender)  
  43.         {  
  44.             this.Name = name;  
  45.             this.Age = age;  
  46.             this.Gender = gender;  
  47.         }  
  48.   
  49.         public void Test()  
  50.         {  
  51.             Console.WriteLine("测试");  
  52.         }  
  53.   
  54.         public void SayHello()  
  55.         {  
  56.             Console.WriteLine("大家好,我是人类");  
  57.         }  
  58.     }  
  59.   
  60.   
  61.     public class Reporter : Person  
  62.     {  
  63.         public Reporter(string name, int age, char gender, string hobby)  
  64.             : base(name, age, gender)  
  65.         {  
  66.             this.Hobby = hobby;  
  67.         }  
  68.   
  69.   
  70.         private string _hobby;  
  71.   
  72.         public string Hobby  
  73.         {  
  74.             get { return _hobby; }  
  75.             set { _hobby = value; }  
  76.         }  
  77.   
  78.         public void ReporterSayHello()  
  79.         {  
  80.             Console.WriteLine("我叫{0},我是一名狗仔,我的爱好是{1},我是{2}生,我今年{3}岁了"this.Name, this.Hobby, this.Gender, this.Age);  
  81.         }  
  82.   
  83.   
  84.         public new void SayHello()  
  85.         {  
  86.             Console.WriteLine("大家好,我是记者");  
  87.         }  
  88.     }  
  89.   
  90.   
  91.     public class Programmer : Person  
  92.     {  
  93.         private int _workYear;  
  94.   
  95.         public int WorkYear  
  96.         {  
  97.             get { return _workYear; }  
  98.             set { _workYear = value; }  
  99.         }  
  100.   
  101.         public void ProgrammerSayHello()  
  102.         {  
  103.             Console.WriteLine("我叫{0},我是一名程序猿,我是{1}生,我今年{2}岁了,我的工作年限是{3}年"this.Name, this.Gender, this.Age, this.WorkYear);  
  104.         }  
  105.   
  106.   
  107.         public Programmer(string name, int age, char gender, int workYear)  
  108.             : base(name, age, gender)  
  109.         {  
  110.             this.WorkYear = workYear;  
  111.         }  
  112.   
  113.   
  114.         public new void SayHello()  
  115.         {  
  116.             Console.WriteLine("大家好,我是程序员");  
  117.         }  
  118.     }  
  119. }  
shashou47

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: