1

在下面的代码中,为什么要myRide.drive()打印一个类 Car而不是“Driving at 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是从汽车类继承的。谢谢!

4

1 回答 1

0

我想你是在操场上做的。

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

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

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

上面解释了你得到的输出。现在让我们继续看看如何查看打印的文本。在 Xcode 窗口的底部,您将看到:

在此处输入图像描述

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

于 2017-09-24T08:24:50.233 回答