编写一个shape类,具有属性:周长和面积;定义其子类三角形和矩形,分别具有求周
时间: 2023-09-22 08:02:27 浏览: 171
shape类是一个抽象基类,其具有周长和面积两个属性。在shape类中,可以定义一个计算周长的方法和一个计算面积的方法。
例如:
class Shape:
def __init__(self):
self.perimeter = 0
self.area = 0
def calculate_perimeter(self):
pass
def calculate_area(self):
pass
三角形和矩形是shape类的子类,它们继承了shape类的属性和方法,并分别具有计算周长的功能。
例如:
class Triangle(Shape):
def __init__(self, side1, side2, side3):
super().__init__()
self.side1 = side1
self.side2 = side2
self.side3 = side3
def calculate_perimeter(self):
self.perimeter = self.side1 + self.side2 + self.side3
class Rectangle(Shape):
def __init__(self, width, height):
super().__init__()
self.width = width
self.height = height
def calculate_perimeter(self):
self.perimeter = 2 * (self.width + self.height)
在Triangle类和Rectangle类中,我们重新定义了calculate_perimeter方法,根据三角形和矩形的属性来计算他们各自的周长。这个方法会更新父类shape的perimeter属性。
通过创建Triangle类和Rectangle类的实例,我们可以计算出它们的周长。
例如:
triangle = Triangle(3, 4, 5)
triangle.calculate_perimeter()
print("三角形的周长为:", triangle.perimeter)
rectangle = Rectangle(2, 3)
rectangle.calculate_perimeter()
print("矩形的周长为:", rectangle.perimeter)
以上就是一个shape类及其子类Triangle和Rectangle的例子。通过这种方式,我们可以定义不同形状的子类,并为它们分别计算周长。
阅读全文