设计个正方形类,其中边长为其属性,并封装有求正方形周长和面积的方法。分别用边长为6和7的两个正方形进行测试。(用构造方法完成对数据成员的初始化)
时间: 2024-09-29 19:13:44 浏览: 43
当你设计一个正方形类,你可以考虑如下的步骤:
首先,定义一个名为`Square`的类,它有一个私有数据成员`side_length`表示正方形的边长。为了保证边长是一个正数,可以添加一些验证机制。
```python
class Square:
def __init__(self, side_length):
if side_length <= 0:
raise ValueError("Side length must be a positive number.")
self.side_length = side_length
# 定义计算周长的方法
def perimeter(self):
return 4 * self.side_length
# 定义计算面积的方法
def area(self):
return self.side_length ** 2
# 测试用例
square1 = Square(6)
print(f"Square with side length 6:")
print("Perimeter:", square1.perimeter())
print("Area:", square1.area())
square2 = Square(7)
print("\nSquare with side length 7:")
print("Perimeter:", square2.perimeter())
print("Area:", square2.area())
```
在这个例子中,我们创建了一个`Square`类,通过构造函数初始化边长,并提供了计算周长和面积的方法。然后我们实例化了两个边长分别为6和7的正方形,并打印出它们的周长和面积。
阅读全文
相关推荐


















