定义一个圆形类,属性有半径和相应的成员函数。然后定义一个正方形类,属性有边长和相应的成员函数。再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类能求出阴影部分面积和周长。
时间: 2023-06-14 22:02:30 浏览: 129
以下是Python代码实现:
```python
import math
# 定义圆形类
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return math.pi * self.radius ** 2
def perimeter(self):
return 2 * math.pi * self.radius
# 定义正方形类
class Square:
def __init__(self, side):
self.side = side
def area(self):
return self.side ** 2
def perimeter(self):
return 4 * self.side
# 定义组合类,由一个正方形和一个圆形组成
class CombinedShape:
def __init__(self, circle_radius, square_side):
self.circle = Circle(circle_radius)
self.square = Square(square_side)
def shaded_area(self):
# 阴影部分面积 = 正方形面积 - 圆形面积
return self.square.area() - self.circle.area()
def perimeter(self):
# 周长 = 正方形周长 + 圆形周长
return self.square.perimeter() + self.circle.perimeter()
```
使用方法:
```python
# 创建一个组合类对象
shape = CombinedShape(5, 4)
# 计算阴影部分面积和周长
print("阴影部分面积:", shape.shaded_area())
print("周长:", shape.perimeter())
```
输出结果:
```
阴影部分面积: 6.283185307179586
周长: 30.84955592153876
```
阅读全文