Python (1)定义一个抽象类Shape,在抽象类Shape中定义求面积getArea(和周长getPerimeterO的抽象方法。
(2)分别定义继承抽象类Shape的3个子类即Triangle、Rectangle和Circle,在这3个子类中重写Shape中的方法getArea()和getPerimeter()
(3)创建类Triangle、Rectangle、Circle的对象,对3个类中的方法进行调用测试
import abc
import math
class Shape(metaclass=abc.ABCMeta):
@abc.abstractmethod
def getArea(self):
pass
def getPerimeter(self):
pass
class Triangle(Shape):
def inp(self):
a, b, c = input("请输入三角形三边长:").split()
self.a = int(a)
self.b = int(b)
self.c = int(c)
def getArea(self):
p = (self.a +self.b+self.c)/2
g = math.sqrt(p * (p - self.a)*(p - self.b)*(p - self.c))
return g
def getPerimeter(self):
s = self.a +self.b + self.c
return s
class Rectangle(Shape):
def inp(self):
a, b = input("请输入矩形长宽:").spli