Swift类继承输出说明

时间:2017-09-24 08:17:25

标签: swift inheritance swift-class

在以下代码中,为什么myRide.drive()打印课程Car而不是"驾驶时间为200"?

class Car {
    var topSpeed = 200

    func drive() {
        print("Driving at \(topSpeed)")
    }
}

class Futurecar : Car {
    func fly() {
        print ("Flying")
    }
}


let myRide = Car() // Car
myRide.topSpeed // 200
myRide.drive() // Car

let myNewRide = Futurecar() // Futurecar
myNewRide.topSpeed // 200
myNewRide.drive() // Futurecar
myNewRide.fly() // Futurecar

我知道班级Futurecar是从汽车类继承的。谢谢!

1 个答案:

答案 0 :(得分:0)

我想你是在操场上做的。

在操场上,右边有一个额外的面板吗?我认为你得到的所有这些输出都来自右侧面板。

右侧面板不一定显示打印到控制台的文本。编写变量时,右侧面板将显示该变量的值。编写方法调用时,右侧面板将显示方法的返回值。如果方法没有返回值,它将显示调用该方法的对象。

在这种情况下,drive不会返回值。右侧面板显示调用它的对象 - FutureCar对象。

以上说明了你得到的输出。现在让我们继续看看我们如何看到打印的文字。在Xcode窗口的底部,您将看到:

enter image description here

单击矩形内有三角形的按钮。这将显示控制台窗口。 print语句的输出将显示在此处!