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号
浙公网安备 33010602011771号