zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python super 理解(四)

Python 理解 Super
2023-09-14 09:09:28 时间

原文链接

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