一个能随机生成Circle类和Triangle类对象的静态方法
时间: 2024-03-26 20:41:51 浏览: 92
可以按照以下方式来实现:
```python
import random
class Circle:
def __init__(self, radius):
self.radius = radius
class Triangle:
def __init__(self, base, height):
self.base = base
self.height = height
class ShapeFactory:
@staticmethod
def generate_random_shape():
shape_type = random.randint(0, 1)
if shape_type == 0:
radius = random.randint(1, 10)
return Circle(radius)
else:
base = random.randint(1, 10)
height = random.randint(1, 10)
return Triangle(base, height)
```
在上面的代码中,我们定义了两个形状类 Circle 和 Triangle,并且定义了一个工厂类 ShapeFactory,其中包含一个静态方法 generate_random_shape(),该方法可以随机生成 Circle 类和 Triangle 类对象。
在 generate_random_shape() 方法中,我们首先生成一个随机数 shape_type,如果 shape_type 等于 0,则生成一个 Circle 对象,否则生成一个 Triangle 对象。对于 Circle 对象,我们随机生成一个半径 radius;对于 Triangle 对象,我们随机生成一个底边长度 base 和高度 height。最后,我们根据生成的参数来创建对应的对象并返回即可。
使用该方法可以生成随机的 Circle 和 Triangle 对象,例如:
```python
shape1 = ShapeFactory.generate_random_shape()
shape2 = ShapeFactory.generate_random_shape()
print(type(shape1)) # <class '__main__.Circle'>
print(type(shape2)) # <class '__main__.Triangle'>
```
阅读全文