定义一个形状,该形状包含面积计算公式和周长计算公式; 分别定义圆形,矩形,三角形,都继承于该形状,都进行具体的面积和周长计算;
时间: 2024-03-23 20:40:53 浏览: 128
可以使用抽象类来定义该形状,然后让圆形、矩形和三角形类继承该抽象类并实现自己的面积和周长计算方法。以下是示例代码:
```csharp
abstract class Shape {
public abstract double GetArea();
public abstract double GetPerimeter();
}
class Circle : Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public override double GetArea() {
return Math.PI * radius * radius;
}
public override double GetPerimeter() {
return 2 * Math.PI * radius;
}
}
class Rectangle : Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
public override double GetArea() {
return length * width;
}
public override double GetPerimeter() {
return 2 * (length + width);
}
}
class Triangle : Shape {
private double side1;
private double side2;
private double side3;
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public override double GetArea() {
double p = GetPerimeter() / 2;
return Math.Sqrt(p * (p - side1) * (p - side2) * (p - side3));
}
public override double GetPerimeter() {
return side1 + side2 + side3;
}
}
```
在上面的示例代码中,Shape类是抽象类,包含GetArea和GetPerimeter两个抽象方法,这两个方法分别用于计算面积和周长。Circle、Rectangle和Triangle类都继承自Shape类,并实现了自己的GetArea和GetPerimeter方法。其中,圆形的面积和周长计算使用了Math类中的PI常数;三角形的面积计算使用了海伦公式。这样,我们就可以通过实例化这些类来计算它们的面积和周长了。
阅读全文