如何在类Python内制作Multiply函数

时间:2018-07-23 16:34:51

标签: python class oop object properties

我在代码或功能区域中缺少什么?有什么建议吗?如果有人知道学习面向对象程序设计的好地方,请告诉我,谢谢。

class Square():
def __init__(self,height=0,width=0):
    self._height = height
    self._width = width

@property
def height(self):
    return self._height

@property
def width(self):
    return self._width

def area(self):
    return height * width

@height.setter
def set_height(self,new_height):
    self._height = new_height

@width.setter
def set_width(self,new_width):
    self._width = new_width

1 个答案:

答案 0 :(得分:2)

您在区域功能中缺少self.heightself.width

此外,您的设置者的名称应与您的获得者的名称匹配。这样的事情。

class Square():
    def __init__(self, height=0, width=0):
        self._height = height
        self._width = width

    @property
    def height(self):
        return self._height

    @property
    def width(self):
        return self._width

    def area(self):
        return self.height * self.width

    @height.setter
    def height(self, new_height):
        self._height = new_height

    @width.setter
    def width(self, new_width):
        self._width = new_width

然后,您必须实例化该类,并使用返回的对象访问其属性和方法,就像这样。

s = Square(2, 4)
s.area()
s.height = 6