跳转至

综合:继承与 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


相关笔记#