设计一个积累是不该内包含三个属性,图形名称,图形面积和图形周长。在包含三个成员函数计算图形的面积,计算并返回该图形的周长,打印输出图形名称,面积,周长。设计三个排成那块儿。
时间: 2023-12-22 14:04:54 浏览: 94
好的,根据您的需求,我来设计一个类来实现对图形名称、面积和周长的处理。该类包含三个属性,分别是图形名称(name)、图形面积(area)和图形周长(perimeter),以及三个成员函数,分别是计算图形面积(calc_area())、计算图形周长(calc_perimeter())和打印输出图形信息(print_info())。
具体实现代码如下:
```python
class Shape:
def __init__(self, name, area, perimeter):
self.name = name
self.area = area
self.perimeter = perimeter
def calc_area(self):
pass
def calc_perimeter(self):
pass
def print_info(self):
print("图形名称:", self.name)
print("图形面积:", self.area)
print("图形周长:", self.perimeter)
class Rectangle(Shape):
def __init__(self, name, length, width):
area = length * width
perimeter = 2 * (length + width)
super().__init__(name, area, perimeter)
self.length = length
self.width = width
def calc_area(self):
return self.length * self.width
def calc_perimeter(self):
return 2 * (self.length + self.width)
class Circle(Shape):
def __init__(self, name, radius):
area = 3.14 * radius ** 2
perimeter = 2 * 3.14 * radius
super().__init__(name, area, perimeter)
self.radius = radius
def calc_area(self):
return 3.14 * self.radius ** 2
def calc_perimeter(self):
return 2 * 3.14 * self.radius
class Triangle(Shape):
def __init__(self, name, a, b, c):
s = (a + b + c) / 2
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
perimeter = a + b + c
super().__init__(name, area, perimeter)
self.a = a
self.b = b
self.c = c
def calc_area(self):
s = (self.a + self.b + self.c) / 2
return (s * (s - self.a) * (s - self.b) * (s - self.c)) ** 0.5
def calc_perimeter(self):
return self.a + self.b + self.c
```
在上面的代码中,我们定义了一个名为 "Shape" 的类,作为其他图形类的基类,包含了图形名称、面积和周长三个属性,以及计算图形面积、计算图形周长和打印输出图形信息三个成员函数。接着,我们分别定义了三个图形类:矩形(Rectangle)、圆形(Circle)和三角形(Triangle),它们都继承自基类 "Shape",并实现了自己的计算面积和周长的方法。
当我们需要创建一个新的图形对象时,可以使用以下代码:
```python
# 创建一个矩形对象
rectangle = Rectangle("矩形", 10, 20)
# 创建一个圆形对象
circle = Circle("圆形", 5)
# 创建一个三角形对象
triangle = Triangle("三角形", 3, 4, 5)
```
在上面的代码中,我们分别创建了一个名为 "rectangle" 的矩形对象,一个名为 "circle" 的圆形对象,以及一个名为 "triangle" 的三角形对象。
当我们需要计算图形的面积和周长时,可以使用以下代码:
```python
# 计算矩形的面积和周长
print("矩形的面积:", rectangle.calc_area())
print("矩形的周长:", rectangle.calc_perimeter())
# 计算圆形的面积和周长
print("圆形的面积:", circle.calc_area())
print("圆形的周长:", circle.calc_perimeter())
# 计算三角形的面积和周长
print("三角形的面积:", triangle.calc_area())
print("三角形的周长:", triangle.calc_perimeter())
```
在上面的代码中,我们分别使用了各自的计算面积和周长的方法来计算矩形、圆形和三角形的面积和周长,并使用 `print()` 函数将其打印出来。
当我们需要打印输出图形的信息时,可以使用以下代码:
```python
# 打印矩形的信息
rectangle.print_info()
# 打印圆形的信息
circle.print_info()
# 打印三角形的信息
triangle.print_info()
```
在上面的代码中,我们分别使用了基类 "Shape" 中定义的打印输出图形信息的方法来打印矩形、圆形和三角形的信息。
希望这个示例代码能够帮助你理解如何创建一个包含三个属性和三个成员函数的类,并实现计算面积、计算周长和打印输出图形信息的功能。
阅读全文