创建图形类为父类,包含边长信息,求面积的方法,正三角形类,圆形类,正方形类分别继承图形类,重写求面积方法并输出面积,输入为“图形名字\n边长\n“,若不存在该图形类,输出”Can’t calculate“,否则输出"面积为: 面积大小\n"。创建图形类为父类,包含边长信息,求面积的方法,正三角形类,圆形类,正方形类分别继承图形类,重写求面积方法并输出面积,输入为“图形名字\n边长\n“,若不存在该图形类,输出”Can’t calculate“,否则输出"面积为: 面积大小\n"。
时间: 2023-07-16 20:12:20 浏览: 46
以下是 Python 的实现代码:
```python
class Graph:
def __init__(self, length):
self.length = length
def calculate_area(self):
pass
class Triangle(Graph):
def calculate_area(self):
return (3 ** 0.5 / 4) * self.length ** 2
class Circle(Graph):
def calculate_area(self):
return 3.14 * self.length ** 2
class Square(Graph):
def calculate_area(self):
return self.length ** 2
def calculate_area_by_shape():
shape = input().strip()
length = float(input().strip())
if shape == "triangle":
graph = Triangle(length)
elif shape == "circle":
graph = Circle(length)
elif shape == "square":
graph = Square(length)
else:
print("Can't calculate")
return
area = graph.calculate_area()
print("面积为:", area)
calculate_area_by_shape()
```
程序首先定义 `Graph` 类作为所有图形类的父类,包含边长信息和求面积的方法,但该方法是个抽象方法,需要在子类中实现。接下来分别定义了正三角形类 `Triangle`、圆形类 `Circle` 和正方形类 `Square`,它们都继承自 `Graph` 类,并重写了父类的 `calculate_area()` 方法以实现各自的求面积逻辑。
最后,定义 `calculate_area_by_shape()` 函数作为程序入口,从标准输入中读取图形名和边长,并根据图形名创建对应的图形类对象,计算其面积并输出。如果输入的图形名不存在,输出 "Can't calculate"。