# 对平面形体有长和面积,周长、面积应怎样计算(用什么方法)?要求实现运行时的多态 # 性。请编程,并测试。 # a. Shape正方形(Square) 长方形(Rectangle) 圆形(Circle) 圆环(Annulus)
解决方案如下:
import math
class Shape:
leght=3
area=1
def zc(self):
pass
def ar(self):
pass
class Square(Shape):
def zc(self):
return 4*self.leght
def ar(self):
return self.leght**2
class Rectangle(Shape):
wide=2
def zc(self):
return 2*(self.leght+self.wide)
def ar(self):
return self.leght*self.wide
class Circle(Shape):
r=2
def zc(self):
return 2*math.pi*self.r
def ar(self):
return math.pi*self.r**2
class Annulus(Shape):
out_r=2
in_r=2
def zc(self):
return 2*math.pi*(self.out_r+self.in_r)
def ar(self):
return math.pi*(self.out_r**2-self.in_r**2)
squ=Square()
squ.leght=5
print('正方形周长为{},面积为{}'.format(