python super 理解(四)
super()单继承可以为做什么呢?
像其他面向对象的语言一样,它允许您在子类中调用超类的方法。这种方法的主要用例是扩展继承方法的功能。
#长方形定义
class Rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * self.length + 2 * self.width
# Here we declare that the Square class inherits from the Rectangle class
#正方形定义
class Square(Rectangle):
def __init__(self, length):
super().__init__(length, length)
square = Square(4)
print(square.area())
#16
class Cube(Square):
def __init__(self,length):
super().__init__(length)
def surface_area(self):
face_area = super(Square, self).area()
return face_area * 6
def volume(self):
face_area = super(Square, self).area()
return face_area * self.length
cube = Cube(3)
print(cube.surface_area())
print(cube.volume(
54
27

浙公网安备 33010602011771号