我在代码或功能区域中缺少什么?有什么建议吗?如果有人知道学习面向对象程序设计的好地方,请告诉我,谢谢。
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
答案 0 :(得分:2)
您在区域功能中缺少self.height
和self.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