编写一个面积计算的类 - 圆 三角形 长方形
- 注意类实例字典前后的变化
import json
import pickle
import msgpack
class Shape:
def __init__(self):
self._area = None
@property
def area(self): # 抽象方法,子类需要完善,如果子类不完善,解释器会提示
raise NotImplementedError()
class Triangle(Shape):
def __init__(self, a, b, c):
super().__init__()
self.a = a
self.b = b
self.c = c
self._p = (a + b + c) / 2
@property
def area(self): # 覆盖到基类的抽象方法
if self._area is None:
p = self._p
self._area = (p * (p - self.a) * (p - self.b) * (p - self.c)) **