C# 继承的实现

//创建一个Person的父类

public class Person
{

  private string _name;
  public string Name
  {


      get { return _name; }
      set { _name = value; }
  
  }

  private int _age;

  public int Age
  {

      get { return _age; }
      set { _age = value; }
  
  }

  private string _gender;
  public string Gender
  {

      get { return _gender; }
      set { _gender = value; }
  
  }

  public Person(string name, int age, string gender)
  {

      this.Name = name;
      this.Age = age;
      this.Gender = gender;
  
  }

}

//创建一个Student的子类

public class Student : Person
{

   private int _number;

   public int Number
   {

       get { return _number; }
       set { _number = value; }
   
   }

   public Student(string name,int age,string gender, int number):base(name,age,gender)
   {

       //因为父类是一个以后参数的,所以子类后面要加base 
       //通过上面的构造函数给子类的构造函数赋值,就可以调用父类的方法

       this.Number = number;
   
   }

   public void ShowStudent()
   {

       Console.WriteLine("{0},{1},{2},{3}", Name, Gender, Age, Number);
   
   
   }

}

//创建一个Teacher的子类

public class Teacher : Person
{
public Teacher(string name, int age, string gender) : base(name, age, gender)

 public void ShowTeacher()
 {

     Console.Write("{0},{1},{2}", Name, Age, Gender);
 
 }

 public void Teach()
 {

     Console.WriteLine("我再教C#");
 
 }

}

//创建类的实例对象

static void Main(string[] args)
{

 //子类对付类的扩展,也可以添加新的成员,但是不能移除已有的继承成员
 //继承是可以传递的,c继承B,B继承A,C不但继承B也继承A
 //继承了属性和方法,私有子段没有被继承
 //子类如果定义了与父类成员名相同的成员,那么就可以覆盖掉父类的成员,并不是删除只是无法访问父类成员
 //单根性 传递性 

 Student s1 = new Student("吴彦祖", 18, "男", 666);
 s1.ShowStudent();

 Teacher t1 = new Teacher("帅哥", 22, "男");
 t1.ShowTeacher();
 t1.Teach();

}

posted @ 2024-12-02 15:34  菜鸟的奋斗军  阅读(1)  评论(0编辑  收藏  举报