js中某天 动物园举办了一场赛跑比赛 有dog的速度为20m/s通过class集成实现赛跑比赛
时间: 2024-02-24 17:56:31 浏览: 168
好的,同样地,我们可以定义一个`Runner`类来表示一个赛跑选手。这个类可以包含选手的姓名和速度属性,以及一个`run()`方法来模拟选手跑步。
然后,我们可以定义一个`Dog`类来表示一只狗。这个类可以继承自`Runner`类,并重写`run()`方法来输出狗跑步的特定信息。
最后,我们可以创建一个`Race`实例,并把狗作为选手数组中的一个元素,然后调用`start()`方法开始比赛。
下面是示例代码:
```javascript
class Runner {
constructor(name, speed) {
this.name = name;
this.speed = speed;
}
run() {
console.log(`${this.name} is running at ${this.speed} m/s`);
}
}
class Dog extends Runner {
constructor(name) {
super(name, 20);
}
run() {
console.log(`${this.name} is running like a dog at ${this.speed} m/s`);
}
}
class Race {
constructor(runners) {
this.runners = runners;
}
start() {
console.log('The race has begun!');
let winner = this.runners[0];
for (let i = 1; i < this.runners.length; i++) {
if (this.runners[i].speed > winner.speed) {
winner = this.runners[i];
}
}
console.log(`The winner is ${winner.name}!`);
}
}
let runners = [
new Runner('Alice', 10),
new Runner('Bob', 12),
new Dog('Charlie'),
];
let race = new Race(runners);
race.start();
```
在这个示例中,我们定义了`Runner`类以及一个继承自`Runner`类的`Dog`类。然后,我们创建了一个包含多个选手的数组`runners`,其中包含两个普通选手和一只狗。最后,我们创建了一个`Race`实例,并传入选手数组作为参数。调用`start()`方法开始比赛,输出获胜者的姓名。
阅读全文
相关推荐















