1.继承的概念:继承是使用已存在的类的定义作为基础建立的技术,新类的定义可以整加新的数据或新的功能,也可以用以存在的类的功能功能
2.继承必须符合is a 的关系,被继承的类称为父类或基类继承其他类的类称为子类或者派生类
3.继承的价值:
1.模拟现实世界的关系
2.便于重用和扩展以测试的代码,且无需修改
3.结构更清晰
4.如果new一个子类对象,那么有如下执行流程
1.先定位为到子类对应构造函数,没有执行子类的方法体
2.转向了父类的无参构造函数,执行父类构造方法体
3.转向了子类的方法体继续执行
5.base代表父类对象,如果base():调用父类的构造函数
通过base代表的是方法调用,是不需要参数类型的
通过base调用父类构造函数注意点:
1.通过base调用父类构造函数只能书写在子类的构造后
2.通过base调用父类构造函数参数顺序和父类的构造函数一至
6.访问修饰符:
1.public:在任何位置都可以访问,甚至是跨程序集都可以访问。
2. private:只能当前类的花括号中访问。
3. protected:只能在当前类,当前类的子类,子类的子类(孙子类)中可以访问。
7.传递性:类A继承自类B,类B继承自类C,类A也可以获取到类C中非有成员
8.单根性:在Java和C#高级语言每个类只能有一个类
基类:父类,超类
子类:派生类
9.什么是多态?
不通对象对于同一个操作,做出相应不同这中机制就是多态
10.实现多态三种方式:
方式一:通过虚方法实现多态
实现多态的步骤
01.在父类中通过virtual关键字定义一个虚方法
02.在子类中通过override关键字对父类中的虚方法进行重写
03.调用的时候,调用的是子类的方法