继承、数组与自定义类型的应用代码
时间: 2024-12-19 21:13:54 浏览: 6
继承在面向对象编程中用于创建新的类并从已存在的类派生属性和方法。例如,在JavaScript中:
```javascript
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
// 自定义类型:数组
let animals = ['dog', 'cat', 'bird']; // 动物数组
animals.forEach(animal => {
let animalObj = new Animal(animal);
animalObj.speak(); // 输出各自的声音
});
// 自定义类型:自定义数组类型如CarArray
class CarArray extends Array {
constructor(...args) {
super(...args);
}
averageSpeed() {
return this.reduce((total, car) => total + parseInt(car.speed), 0) / this.length;
}
}
let cars = new CarArray({name: 'Ford', speed: 60}, {name: 'BMW', speed: 80});
console.log(cars.averageSpeed()); // 计算平均速度
```
在这段代码中:
- `Animal` 类是一个基础类,`Dog`, `Cat`, 和 `Bird` 可能会通过继承这个类来共享行为。
- 数组`animals`用于存储不同类型动物的实例,并调用它们共同的`speak`方法。
- `CarArray` 是一个自定义数组类型,它继承了`Array`的特性,并添加了一个计算平均速度的方法。
阅读全文