CS3L15——继承中的构造函数
CS3L15——继承中的构造函数
本章代码关键字
1 | this //代表类自己的构造函数 |
继承中的构造函数
特点:当实例化一个子类对象时,执行顺序是先执行父类的构造函数 再执行子类的 从最开始的基类开始 依次一代一代向下执行
注意!父类的无参构造很重要,子类构造函数默认会调用父类无参构造函数
子类的构造函数必须要调用父类的一个构造函数,子类可以通过base
关键字 来指定调用父类的某个构造函数注意要区分
base
和 this 的区别,base
是基类的构造函数,而this
是类自己的构造函数
继承中构造函数的执行顺序
父类的父类的构造 ——> … 父类构造 ——> … ——> 子类构造
1 | class GameObject |
输出:
1 | GameObject的构造函数 |
通过 base 调用指定父类构造
父类的无参构造函数很重要,如果父类的无参构造不存在或者被顶掉,子类构造函数又不调用父类构造函数,就会报错
因为实例化子类时会自动调用父类的构造函数,没有无参构造就无法默认执行父类无参构造函数,除非使用 base
方法使其使用别的有参构造函数
注意:要区分
base
和 this 的区别,base
是基类的构造函数,而this
是类自己的构造函数
子类的所有构造函数想要执行,都需要先执行父类的一个构造函数,无论是用 base
或者用 this
(间接调用)方法
1 | class Father |
输出:
1 | Father构造 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!