一.小知识点回顾
1.get set 快捷键 :prop,Tab*2
二.面向对象
1.类的四大关系
泛化:子类与父类的关系,概念的复用,耦合度最高;
B类泛化A类,意味B类是A类的一种;
做法:B类继承A类
实现:抽象行为的具体实现,两者体现功能的关系,变化只影响行为;。
A类实现B类,意味A类必须具体实现B类中所有抽象成员。
做法:实现抽象类、接口中的抽象成员。
关联(聚合/组合):部分与整体的关系,功能的复用,变化影响一个类;
A 与B关联,意味着B是A的一部分;
做法:在A类中包含B类型成员。
依赖:合作关系,一种相对松散的协作,变化影响一个方法;
A类依赖B类,意味A类的某些功能靠B类实现;
做法:B类型作为A类中方法的参数,并不是A的成员。
三.继承
定义:重用现在所有的类,在此基础上进行扩展(功能、概念);功能即表示代码上的改变,而概念指的是整体上的表示,比如:子类是组件,如果想要获取所有组件,则需要GetComponents(Component),则该component则代表了所以的组件
四.多态
重写,相同的代码在不同情况下表示不同的含义
五.重写
方法重写的原理
1.在子类方法表中添加新的记录
2.修改父级方法表地址
在运行期间执行,灵活度优于隐藏方法;通过父类引用调用,执行父类对象;通过父类引用调用,执行子类对象;
六.隐藏方法
方法隐藏的原理
1.在子类方法表中添加新的记录
解决脚本生命周期冲突:方法隐藏,在方法体内部通过base关键字调用父
在编译期间执行,性能优于重写;通过父类引用调用,执行父类对象;通过子类引用调用,执行子类对象;
七.接口
1.定义:一组对外的行为规范(是一种抽象的要求规范)
一组:接口中可以包含多个方法
对外:接口成员是要求子类实现,自己不用
行为:接口只能包含抽象成员方法(属性、方法)
规范:要求子类必须自行实现
2.接口都是抽象成员,多实现