首页 > 解决方案 > 调用继承的子类的超类的超方法

问题描述

我正在阅读 Swift 并有一个问题。我可以从“双重继承”类调用基类的方法吗?(措辞可能不太好)代码如下。

我在 FastTrain 类中尝试过 super.super.makeNoise() ,但这是错误的

class Vehicle {
    var currentSpeed = 0.0
    var description: String {
        return "traveling at \(currentSpeed) miles per hour"
    }
    func makeNoise() {
        print("No noise")
    }
}

class Train: Vehicle {
    override func makeNoise() {
        print("Choo Choo")
    }
}

class FastTrain: Train {
    override func makeNoise() {
        super.makeNoise()
        print("Silent noise")
    }
}

我想从 FastTrain 类中调用 Vehicle 的 makeNoise() 方法

标签: swiftinheritancemultiple-inheritance

解决方案


推荐阅读