综合:继承与 base 关键字#
来源:
D:\study\C#1\stu0725\题目二:继承与base关键字(核心重点)
示例 1:Animal → Dog 继承#
class Animal
{
public string Name { get; set; }
public Animal(string name)
{
Name = name;
}
public void Eat()
{
Console.WriteLine($"哎?{Name}是大狗!叫!!!");
}
}
class Dog : Animal
{
public string Breed { get; set; }
// 构造函数链式调用:this() 调用本类另一构造函数,再通过 base() 传递给父类
public Dog(string name, string breed) : base(name)
{
Breed = breed;
}
// 提供一个默认品种的快捷构造函数
public Dog(string name) : this(name, "中华田园犬")
{
}
}
示例 2:Person → Employee 继承#
class Person
{
public enum Sex { 男, 女 }
public string Name { get; set; }
public string Gender { get; set; }
public Person(string name, string gender)
{
Name = name;
Gender = gender;
}
}
class Employee : Person
{
public int Salary { get; set; }
// base(name, gender) 将参数传递给父类构造函数
public Employee(string name, string gender, int salary) : base(name, gender)
{
Salary = salary;
}
public void ShowDetails()
{
Console.WriteLine($"====员工信息====\n姓名:{Name}\n性别:{Gender}\n薪水:{Salary}");
}
}
运行示例:
Employee employee = new Employee("张三", "男", 8000);
employee.ShowDetails();
// 输出:
// ====员工信息====
// 姓名:张三
// 性别:男
// 薪水:8000