Swift 実践入門のまとめ。
分からない部分の抜粋も記載し、解決できたら随時更新していきます。
なお、ここに記載している以外でも「わけわからん…」となっている部分も多々ありますが、
今は必要ない、と言い聞かせて飛ばしています。
第8章
型の種類 struct / class / enumそれぞれの特徴
理解度:70%くらいか
前提として、ほとんどの場合でstructを使う。
structとclassの違いは、structでは変数に値を受け渡す場合、この値のコピーとして代入される。
したがってvar a = “abc”, var b = “def”でa = bと代入し、bの値を後で変更したとしても
a = “abc”のままである。
逆にclassではbの変更に合わせてaも同じく変更される。
またclassでは継承を使うことができる点もstructとは異なる。
8-3 構造体
以下構造体の中身。
struct SomeStruct {
var a : Int
let b : String //型の定義まで
init (a : Int, b : String) {
self.a = a
self.b = b //ここで初期化
}
func printA() {
print(a)
}
}
let c = SomeStruct (a : 123, b : “abc”)
c.PrintA() //123
8-4 クラス
上記の構造体にプラスして、継承があるためoverride、super、finalなどが登場する。
finalはfinal funcで再定義を禁止し、final classで継承を禁止する。
継承で初期化の場合、2段階の初期化が必要になりinit (a : Int)のところをinit(a : a)などになることがある。
8-5 列挙型
enumとcaseを使って定義する。バラバラにある食べ物を例えば「お菓子」「肉類」「魚類」など種類に分けて列挙する。そうすることで可読性が高まる。