设计一个图形基类shape9-7
时间: 2024-02-01 11:13:29 浏览: 27
好的,以下是一个图形基类shape的设计:
```python
class Shape:
def __init__(self, color):
self.color = color
def area(self):
pass
def perimeter(self):
pass
```
该类包含一个构造函数和两个抽象方法area和perimeter,分别用于计算图形的面积和周长。color属性用于表示该图形的颜色。
在该基类的基础上,我们可以派生出不同类型的图形类,例如:
```python
class Circle(Shape):
def __init__(self, color, radius):
super().__init__(color)
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
def perimeter(self):
return 2 * 3.14 * self.radius
class Rectangle(Shape):
def __init__(self, color, width, height):
super().__init__(color)
self.width = width
self.height = height
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * (self.width + self.height)
class Triangle(Shape):
def __init__(self, color, side1, side2, side3):
super().__init__(color)
self.side1 = side1
self.side2 = side2
self.side3 = side3
def area(self):
s = (self.side1 + self.side2 + self.side3) / 2
return (s * (s - self.side1) * (s - self.side2) * (s - self.side3)) ** 0.5
def perimeter(self):
return self.side1 + self.side2 + self.side3
```
其中,Circle类表示圆形,Rectangle类表示矩形,Triangle类表示三角形。它们通过继承Shape类,拥有了color属性和area、perimeter方法,并且实现了自己的特定功能。