(2)设计一个House (房子)类,从键盘上输入包括房子名称、长、宽等属性,同时包括计算房子面积的方法,并设置类属性用于计算房子的总数。创建House类的多个实例对象,传入其长和宽,计算出房子的总数和每个房子的面积。
时间: 2024-11-27 08:14:06 浏览: 53
为了实现这个需求,我们首先定义一个`House`类,包含姓名、长度和宽度属性,以及计算面积的方法。接着,我们会创建一个类属性`total_houses`来追踪房子总数,并在类中定义一个静态方法`count_total`来增加房子总数。
```python
class House:
total_houses = 0
def __init__(self, name, length, width):
self.name = name
self.length = length
self.width = width
House.total_houses += 1
self.area = self.calculate_area()
@staticmethod
def calculate_area():
return self.length * self.width # 使用self关键字获取当前对象的属性
def display_info(self):
print(f"Name: {self.name}, Area: {self.area} square meters")
# 创建几个House实例并显示信息
house1 = House("House A", 10, 8)
house2 = House("House B", 15, 12)
house3 = House("House C", 12, 6)
# 计算总面积和房子总数
total_area = sum([house.area for house in [house1, house2, house3]])
average_area = total_area / House.total_houses if House.total_houses else 0
print(f"Total houses: {House.total_houses}")
print(f"Total area: {total_area} square meters")
print(f"Average area per house: {average_area} square meters")
```
在这个例子中,当你创建一个新的`House`对象时,会自动将其添加到房子总数计数器中。`display_info`方法用于打印房子的名称和面积,而`calculate_area`方法使用了静态方法,因为不需要访问对象状态就能计算面积。
阅读全文
相关推荐



















