【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码

想用多态实现Laya(JavaScript开发,以下简称JS)游戏中的一些管理类,希望子类重写父类方法且又可以执行父类方法中的代码,由于不熟悉JS和ES6,所以写了试验代码摸索了一下,代码和结果如下:
1.父类:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
2.子类:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
3.在其他地方执行子类的speak方法:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
打印结果如下:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
通过打印和其他操作总结:
1.子类的constructor方法中必须调用super(),不然会报错:ReferenceError: Must call super constructor in derived class before accessing ‘this’ or returning from derived constructor;

2.在constructor中调用super(),相当于调用父类的constructor方法;

3.直接以super.speak()的方式可以访问到父类的属性和方法,这时super相当于父类的一个对象引用,通过此特点可以实现重写方法且又能执行父类方法,super差不多久像C#里面的base了

补充:

在父类的上方使用let定义的变量为私有变量,子类中访问不了,如下图:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码
报错为:
【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码

以上是 【游戏开发】Laya使用AS开发之继承父类方法赋值且可以法院执行父类方法中的省份代码 的全部内容, 来源链接: utcz.com/a/70692.html

回到顶部