from math import pi
class Shape:
def __init__(self,name):
self.__name=name
def area(self):
pass
def getname(self):
return self.__name
class Yuan(Shape):
def __init__(self,name,r):
Shape.__init__(self,name)
self.__r=r
def area(self):
print("{}的面积为{}".format(self._Shape__name,pi*self.__r*self.__r))
class Fang(Shape):
def __init__(self,name,a):
Shape.__init__(self,name)
self.__a=a
def area(self):
print("{}的面积为{}".format(self._Shape__name,self.__a*self.__a))
y=Yuan("圆形",3)
y.area()
f=Fang("正方形",3)
f.area()
Yuan(圆形)和Fang(正方形),每个类都有初始化方法和面积计算方法,Yuan类的初始化方法接收一个名字和一个半径作为参数,并将它们分别存储在self.name和self._r中,Fang类的初始化方法接收一个名字和一个边长作为参数,并将它们分别存储在self.name
主函数创建了一个名为“圆形”的Yuan对象,其半径为3;还创建了一个名为“正方形”的Fang对象,其边长也为3