對不起,我承認粗略的標題,但我正在參加teamtreehouse.com上的Swift課程,並且我做了一個「代碼挑戰」,重新描述了面向對象的Swift課程。無論如何,我被提供了幾個類,我的目標是繼承Machine類並重寫實際執行某些操作的方法,這是我做的。我通過了這個挑戰,但很好奇,如果在傳入一個參數之後我可以實際打印這個函數的最終結果。如何在Swift中打印此方法的最終結果?
class Point {
var x: Int
var y: Int
init(x: Int, y: Int) {
self.x = x
self.y = y
}
}
class Machine {
var location: Point
init() {
self.location = Point(x: 0, y: 0)
}
func move(_ direction: String) {
print("Do nothing! I'm a machine!")
}
}
// Enter your code below
class Robot: Machine {
override func move(_ direction: String) {
switch direction {
case "Up": location.y += 1
case "Down": location.y -= 1
case "Left": location.x -= 1
case "Right": location.x += 1
default: break
}
}
}
let aRobot = Robot()
aRobot.move("Up")
print(aRobot.location)
所以,最後的3行是我嘗試進行實際管理這一點,但在控制檯中,行「點」打印,而不是方法的實際效果正在制定。如果可能,我希望以座標的形式打印結果。對不起,可能是錯誤的代碼,我只是一個初學者。提前致謝!
嗯,我還是設法想出一個辦法去除Point類作爲一個整體,改變存儲的屬性位置類型得到它的打印結果到'(x:Int,y:Int)',然後對init方法做同樣的事情,但我仍然很好奇,是否仍然可以使用Point類型 –