如果属性合适,我可以重写对类的请求并改用子类吗?

2024-05-13 04:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

假设有两个类具有以下接口:

class RegularPolygon:
    def __init__(self, sides, length):
        self.sides = sides
        self.length = length
    def area(self):
        '''algorithm for calculating area of any regular polygon using math.tan'''
class Square(RegularPolygon):
    def __init__(self, length):
        super().__init__(4, length)
    def area(self):
        return self.length ** 2

我希望RegularPolygon(4, 5).area()通过使用Squarearea函数而不是RegularPolygon函数精确返回25。有没有办法让RegularPolygon(4, 5)实际返回一个Square对象


Tags: of函数selfforinitdefanyarea