from string import *
import math
class Shape(object):
def area(self):
raise AttributeException("Subclasses should override this method.")
class Square(Shape):
def __init__(self, h):
"""
h: length of side of the square
"""
self.side = float(h)
def area(self):
"""
Returns area of the square
"""
return self.side**2
如何启用方法区域以使其返回值。形状是某种超类吗? 我尝试过像
这样的事情p=Shape(3.0)
或
p=Square(3.0)
然后
p.area
答案 0 :(得分:2)
需要调用方法来返回值:
p = Square(3.0)
p.area() # Notice the ()
更具体地说:
p.area
是方法本身。p.area()
调用该方法并返回其值。答案 1 :(得分:0)
您创建对象Square:
s = Square(3.0)
调用 init 方法,您现在可以访问值s.side。
您可以调用对象的方法。
Ar = s.area()
Ar包含对象的方法area()返回的值。