基类为正方形类,数据包含边长,方法包含求面积、周长、构造函数,输出函数;子类为正方体,保护继承于正方形类,数据色含高,新增方法包含构造函数,求体积函数,在主函数中构建子类对象,并将输出结果保存在文件中
时间: 2024-02-23 12:59:42 浏览: 73
好的,这是一个关于面向对象编程的问题。根据你的要求,我来为你解答。
首先,我们需要定义一个正方形类,包含边长数据、求面积、周长、构造函数和输出函数方法:
```python
class Square:
def __init__(self, side):
self.side = side
def area(self):
return self.side * self.side
def perimeter(self):
return 4 * self.side
def output(self):
print("正方形的边长为:", self.side)
print("正方形的面积为:", self.area())
print("正方形的周长为:", self.perimeter())
```
接下来,我们需要定义一个正方体类,保护继承于正方形类,新增高度数据和求体积函数方法,并新增构造函数:
```python
class Cube(Square):
def __init__(self, side, height):
super().__init__(side)
self.height = height
def volume(self):
return self.area() * self.height
def output(self):
super().output()
print("正方体的高度为:", self.height)
print("正方体的体积为:", self.volume())
```
最后,在主函数中构建子类对象,并将输出结果保存在文件中:
```python
if __name__ == '__main__':
cube = Cube(5, 8)
cube.output()
with open('output.txt', 'w') as f:
f.write(f'正方形的边长为:{cube.side}\n')
f.write(f'正方形的面积为:{cube.area()}\n')
f.write(f'正方形的周长为:{cube.perimeter()}\n')
f.write(f'正方体的高度为:{cube.height}\n')
f.write(f'正方体的体积为:{cube.volume()}\n')
```
这样,就可以构建子类对象,并将输出结果保存在文件中了。希望能够对你有所帮助!
阅读全文