1.继承里面,构造方法的执行顺序(以及构造方法的赋值)-----很重要
类中包含(字段,属性,方法),每个字段字段可以通过键盘ctrl+r,e。自动生成属性
当子类继承父类时,需要添加(:)
比如:
class Person
{}
class Student : Person
{}
这时在给子类赋值的时候就需要用到base
(前面是定义):base(后面是调用)
2.里氏装换原则
->子类对象可以直接赋值给类的对象(子类可以隐式转换为父类)
->指向子类的父类对象,可以强制转化为该子类对象
如果不是用里氏转换原则,我可新建teacher类。等等的类,但是这些类在之后是不好管理的,
使用里氏装换原则,可以建立一个person的数组。以便方便管理
c #类型安全的语言,做项目是必须是类型一致
用数组处理他的好处
可以用数组对它遍历
for(int i=0;i<i.length;i++)
{}
3.c #类型安全的语言
->什么类型的数据,只能赋给什么类型的变量
->什么类型,只能访问该类型的成员(通过点)
4.this、base
this表示的是当前实例,
如果在后面方法中也有相同的变量赋值的话,会出现绿色波浪线。编译器就蒙圈了,都是指示距离自己近的变量
这是就要加this.来表示 ,,,在类里面表示每一个成员的时候都可以使用this.
有时也可以使用下划线去区分比如(int _name;)
this
->区分类的成员
->子类中使用this描述父类成员的时候一样可以(继承)
->此时写base与this是等价的(方便开发时分清楚变量)
->调用本类构造方法(**)
例子
->在很多情况下,构造方法都是为字段付出值的
->由于事先的功能不同,那么赋值的时候,可能不一定完全相同
base
->区分类的成员
->调用父类构造方法(*)