用继承的方法定义一个点类,包含两个属性:横坐标和纵坐标。通过继承点类再设计一个圆类,新增私有属性:半径、周长、面积,新增方法:设置圆 的半径、获取圆的半径、计算圆的周长、获取圆的周长、计算圆的面积,获取圆的面积。设计一个测试类,把坐标、半径传递后,显示圆的 标、 27 半径、周长和面积。
时间: 2023-07-10 17:06:48 浏览: 121
下面是代码实现:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
class Circle(Point):
def __init__(self, x=0, y=0, r=0):
super().__init__(x, y)
self.__r = r
self.__circumference = 0
self.__area = 0
def set_radius(self, r):
self.__r = r
def get_radius(self):
return self.__r
def calc_circumference(self):
self.__circumference = 2 * 3.14 * self.__r
def get_circumference(self):
return self.__circumference
def calc_area(self):
self.__area = 3.14 * self.__r * self.__r
def get_area(self):
return self.__area
class Test:
def __init__(self, x, y, r):
self.circle = Circle(x, y, r)
def display(self):
self.circle.calc_circumference()
self.circle.calc_area()
print("圆心坐标:({}, {})".format(self.circle.x, self.circle.y))
print("半径:{}".format(self.circle.get_radius()))
print("周长:{}".format(self.circle.get_circumference()))
print("面积:{}".format(self.circle.get_area()))
test = Test(3, 4, 5)
test.display()
```
运行结果:
```
圆心坐标:(3, 4)
半径:5
周长:31.400000000000002
面积:78.5
```
阅读全文