这是我在这里的第一篇文章,我是python新手,很高兴学习。我希望我在这里的帖子对每个人都足够清晰
有人知道是否有可能从父类继承中减少子类所需的参数吗
下面是一个例子:
# this is a code to estimate any polygon's perimeter (parent)
# the second one is code to estimate a square's area (child)
class RegularPolygon:
`def __init__(self,
no_of_sides=0,
side_length=0):`
`self.no_of_sides = no_of_sides`
`self.side_length = side_length`
`def perimeter(self):`
`perimeter = self.no_of_sides * self.side_length`
`return perimeter`
`class Square(RegularPolygon):`
`def __init__(self,
no_of_sides=4,
side_length=0):`
`super().__init__(no_of_sides, side_length)`
`def area(self):`
`area = self.side_length ** 2`
`return area`
我试着给孩子们打电话,估计平方。因为它是正方形,所以它总是有4条边,所以no_of_sides
=总是4条边。我正在考虑将其自动化,因此我可以只使用一个参数调用类Square
以下是我对他们的期望:
`item = Square(5)`
`item.area()`
>>> 20
`item.perimeter()`
>>>20
我试着给他们的论点赋予基本的价值(父母、孩子、父母和孩子),但总是得到错误的结果。 还有吗
在这种情况下,最好将这些
__init__
参数一起删除你的
Square
类只需要接受它所需要的参数(side_length
),而不是让类的用户重写4的no_of_sides
每个类的构造函数可以有您想要的任何签名;只需确保孩子使用适当的参数调用家长即可
相关问题 更多 >
编程相关推荐