スポンサーリンク
スポンサーリンク
解答例
let expert = Expert()
func move3() {
expert.moveForward()
expert.moveForward()
expert.moveForward()
}
func solveSide() {
move3()
if expert.isOnGem {
expert.collectGem()
} else {
expert.turnLockUp()
}
}
func returnToCenter() {
expert.turnLeft()
expert.turnLeft()
move3()
expert.turnRight()
}
for i in 1 ... 3 {
solveSide()
returnToCenter()
}
solveSide()
解説
新しいキャラクター、『エキスパート』の登場です!
この人(ひと?笑)は、今までのキャラができたことに加えて、『turnLockUp()
』メソッドが使えることが特徴です。
この能力は、エキスパートさんだけの特権です。
さて、『型』と『初期化』について、もう一度整理してみましょう。
型とは、あるデータの属性(特徴)とメソッド(挙動)をまとめて名前をつけたもの
つまり、型には属性とメソッドがある
初期化とは、型のインスタンス(実体)を新しく作ること。
型の属性の初期値を設定することができ、インスタンスは初期化中に作成される
『型』の説明であったように、プログラミングでは『型』は設計図、
『インスタンス』は設計図を使って建てた家のようなものです。
今回は、letを使ってエキスパートを宣言し、Expert型を割り当てて初期化します。
その後は、ドット表記を使ってメソッドを呼び出すことができます。
最初に鍵まで行って、turnLockUp()
して、地面を上げないと
宝石のところまで行くことができません。
エキスパートを動かすには、ドット表記でメソッドを指定します。
expert
というインスタンスに、
moveForward()
というメソッドを呼び出すように指示するということになります。
要点まとめ
・初期化とは、特定の型のインスタンスを作ること
スポンサーリンク