建立普通的基类building,用来存储一座楼房的层数、房间数以及它的总平方数。建立派生类house,继承building,并存储卧室与浴室的数量,另外,建立派生类office,继承building,并存储灭火器与电话的数目。设计一主函数来测试以上类的用法
时间: 2024-05-02 22:23:20 浏览: 91
一些常用到的基础类
ChitGPT: 好的,您的问题是关于面向对象编程的实现。以下是建立基类building的代码,您可以在此基础上进行派生类的设计。
```python
class Building:
def __init__(self, floors, rooms, square_feet):
self.floors = floors
self.rooms = rooms
self.square_feet = square_feet
```
现在,您可以建立第一个派生类house来继承building。
```python
class House(Building):
def __init__(self, floors, rooms, square_feet, bedrooms, bathrooms):
super().__init__(floors, rooms, square_feet)
self.bedrooms = bedrooms
self.bathrooms = bathrooms
```
再建立一个派生类office来继承building,并存储灭火器与电话的数目。
```python
class Office(Building):
def __init__(self, floors, rooms, square_feet, fire_extinguishers, telephones):
super().__init__(floors, rooms, square_feet)
self.fire_extinguishers = fire_extinguishers
self.telephones = telephones
```
最后,您可以创建一个主函数,来测试以上类的用法。示例代码如下:
```python
def main():
house1 = House(2, 4, 2000, 3, 2)
office1 = Office(3, 6, 3000, 10, 20)
print("House: {}\nBedrooms: {}\nBathrooms: {}".format(house1.square_feet, house1.bedrooms, house1.bathrooms))
print("Office: {}\nFire Extinguishers: {}\nTelephones: {}".format(office1.square_feet, office1.fire_extinguishers, office1.telephones))
if __name__ == "__main__":
main()
```
这段代码将创建一个两层四室的面积为2000平方英尺的房子,以及一个三层六室的面积为3000平方英尺的办公室。然后,它会输出每个建筑物的详细信息。
阅读全文