TS代码编写一个圆柱体类Cylinder,它继承于上面的C
时间: 2024-09-09 18:10:59 浏览: 47
在TypeScript中,创建一个圆柱体类(Cylinder)继承自另一个基类(假设为Circle),可以通过定义一个新的类来实现,该类包含圆柱体特有的属性和方法,并通过使用`extends`关键字来继承基类的属性和方法。以下是一个简单的实现示例:
```typescript
// 假设有一个Circle类,用于表示圆
class Circle {
private radius: number;
constructor(radius: number) {
this.radius = radius;
}
// 获取圆的面积
getArea(): number {
return Math.PI * this.radius * this.radius;
}
// 获取圆的周长
getPerimeter(): number {
return 2 * Math.PI * this.radius;
}
}
// 创建Cylinder类,继承自Circle类
class Cylinder extends Circle {
private height: number;
constructor(radius: number, height: number) {
super(radius); // 调用基类的构造函数来初始化radius
this.height = height;
}
// 获取圆柱体的体积
getVolume(): number {
return this.getArea() * this.height;
}
// 获取圆柱体的表面积(不包括底面)
getLateralSurfaceArea(): number {
return this.getPerimeter() * this.height;
}
}
// 使用Cylinder类
const cylinder = new Cylinder(5, 10); // 创建一个半径为5,高为10的圆柱体
console.log('圆柱体体积:', cylinder.getVolume()); // 输出体积
console.log('圆柱体侧面积:', cylinder.getLateralSurfaceArea()); // 输出侧面积
```
上述代码展示了如何定义一个圆柱体类`Cylinder`,它继承了`Circle`类的属性和方法,并添加了自身特有的属性和方法。这样,`Cylinder`类的对象不仅可以使用`Circle`类的方法,还可以使用自己特有的方法。
阅读全文