首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift类继承输出澄清

Swift类继承输出澄清
EN

Stack Overflow用户
提问于 2017-09-24 16:17:25
回答 1查看 29关注 0票数 1

在下面的代码中,为什么myRide.drive()打印一个类Car而不是“以200的速度行驶”?

代码语言:javascript
复制
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类继承自car类。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-09-24 16:24:50

我猜你是在操场上做这件事。

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

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

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46388030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档