应用场景
我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员单独的封装到一个类中,作为这些类的父类。
父类又叫基类
子类又叫派生类
继承的特性
- 继承的但根性:一个子类只能有一个父类
- 继承的传递性:继承可以传递
- 可以在VS中查看类图去看类之间的关系
子类继承了父类的什么
- 子类继承了父类的属性和方法,但没有继承父类的私有字段。
- 子类没有继承父类的构造函数,但子类会默认调用父类无参的构造函数,因为目的是创建父类对象,使得子类可以使用父类中的成员。
所以如果在父类中重新写了一个有参数的构造函数,那个无参的构造函数就没有了,子类调用不到,所以子类会报错。
- 解决方法
1)在父类中重新写一个无参数的构造函数。
2)在子类中显示的调用父类的构造函数,使用关键字:base()
Person类(父类)
//Person类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _03_继承
{
//父类
class Person
{
public Person(string name,int age,char gender)
{
this.Name = name;
this.Age = age;
this.Gender = gender;
}
private string _name;
public string Name {
get => _name; set => _name = value; }
private int _age;
public int Age
{
get {
return _