扫码关注官方订阅号
强制: 必须调用super ,获得this
带来的副作用 ? ( 其他OO语言没有这样的规定吧 ? )
有哪些不便 ?
产品版本:
操作系统:
ES: ES >= 6
相关原理, 已经搜索过, 已经理解这个原理, 故不纠结原理
小伙看你根骨奇佳,潜力无限,来学PHP伐。
class Father { constructor(name) { this.name = name; } sayName() { console.log(this.name); } } class Son extends Father { constructor(name) { super(name); } } var bigSon = new Son('大头儿子'); bigSon.sayName(); // 如上super是调用父类的构造函数 // 如果不调用父类的构造函数,在调用父类的一些方法时可能出现错误。 // 再来是题主说的副作用,字段不能重复应该算一个吧,在不了解父类字段的情况下,子类定义的字段与父类冲突。 // 但是这个问题属于认为可控的。以上是我一个入门程序员所理解的,比较浅显。
其他语言(如JAVA)也是要在子类初始化时首先调用父类构造方法的, 只是如果父类有无参构造函数时可以省略罢了. 面向对象的思想本身就要求在子类初始化时先初始化父类.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
其他语言(如JAVA)也是要在子类初始化时首先调用父类构造方法的, 只是如果父类有无参构造函数时可以省略罢了.
面向对象的思想本身就要求在子类初始化时先初始化父类.