定义一个接口OneToN,在接口体中包含一个抽象方法disp(),定义Sum和Pro类,并分别用不同代码实现OneToN中的disp方法,在Sum的方法中计算1~n的和,在Pro方法中计算1~n的乘积
时间: 2023-12-03 12:45:21 浏览: 65
以下是Python的代码实现:
```python
from abc import ABC, abstractmethod
class OneToN(ABC):
@abstractmethod
def disp(self, n):
pass
class Sum(OneToN):
def disp(self, n):
total = sum(range(1, n+1))
print(f"The sum of 1 to {n} is {total}")
class Pro(OneToN):
def disp(self, n):
product = 1
for i in range(1, n+1):
product *= i
print(f"The product of 1 to {n} is {product}")
# Example usage
s = Sum()
s.disp(10) # Output: The sum of 1 to 10 is 55
p = Pro()
p.disp(5) # Output: The product of 1 to 5 is 120
```
在这个例子中,我们定义了一个名为`OneToN`的抽象基类(Abstract Base Class,ABC),其中包含一个抽象方法`disp`。我们还定义了两个子类`Sum`和`Pro`,它们都继承自`OneToN`类,并实现了`disp`方法。在`Sum`的`disp`方法中,我们计算了从1到`n`的和,并输出结果;在`Pro`的`disp`方法中,我们计算了从1到`n`的乘积,并输出结果。
在程序的最后,我们实例化了`Sum`和`Pro`类,并调用它们的`disp`方法来计算和输出结果。
阅读全文