javascript - 像下面这样在 Javascript 中将方法传递给基类的目的是什么?
问题描述
我看过一个教程,其中一个可能的函数被传递给父级,如下所示:
class Car {
constructor(door, engine, color){
this.door = door;
this.engine = engine;
this.color = color;
}
carStats(){
console.log('in car stats...');
}
}
class SUV extends Car {
constructor(door, engine, color, brand, carStats){
super(door, engine, color, carStats){
this.brand = brand;
this.wheels = 5;
this.cheap = true;
}
}
如果您将另一个函数传递给它,是否有可能覆盖父方法?
谢谢
解决方案
调用 时super
,实际上调用的是构造函数Car
,但Car
构造函数只需要 3 个参数,而不是 5 个。
您应该能够carStats
通过重新定义方法来覆盖该方法,但我认为这不是最佳实践。
class SUV extends Car {
constructor(door, engine, color, brand, carStats){
super(door, engine, color);
this.carStats = carStats;
this.brand = brand;
}
}
推荐阅读
- ssl - 如何使用实现 Tor 类型协议的 openssl 创建服务器?(服务器是公钥或证书)
- linux - awk 第 3 行:/dev/sda:没有这样的文件或目录
- docker - 如何将域分配给docker上的网站?
- javascript - 在 LitElement 中哪里定义选择器 document.querySelector?
- javascript - 如何在 NodeJS、Express 中通过猫鼬进行更新时设置动态密钥
- javascript - 如何使用 ReactJs 切换元素的类
- arrays - 我得到一个未处理的运行时错误错误:渲染的钩子比上一次渲染期间更多
- javascript - Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 when connected Flask and D3.js
- apache-spark - 如何转换由 | 分隔的顺序数据 并且在 pyspark 中的行和列中没有换行符
- javascript - 在 React 中状态更改后,功能组件不会重新渲染