11月17日(月)3 コマ目
今日、やったこと
- [練習問題]練習問題5(構造体)
- [練習問題 解説]練習問題5(構造体)
- エクステンション
今日のホワイトボード
[練習問題 解説]練習問題5(構造体)
構造体の練習というより、nilとOptional型の復習。
正解例をあげておきます。
5-1
構造体を作って、配列を作るだけ。
5-2
nilか否かは != nil でできる。
ついつい、オプショナルバインディングとかを思い浮かべるが、そこまでしなくていい。
5-3
C言語由来の言語では、計算する2つの値の型が異なる場合、大きな型(double > int)に自動的にキャストされる。
Swiftでは、両方ともキャストが必要。
エクステンション
クラスは継承で機能追加ができる。
継承が使えるのは、クラスだけ。
構造体、列挙型、プロトコル(=インターフェース)はエクステンションで機能追加。
![]() |
| 図 継承とエクステンションのイメージ |
コンピューテッドプロパティの省略記法
メソッドにあった、
処理内容が値を返すだけなら、returnが省略できる
に加えて、
コンピューテッドプロパティはget処理だけなら、get{ }が省略できる
もある。
![]() |
| 図 コンピューテッドプロパティの省略記法 |
以下のサンプルで確認しました。
実行結果
次回は
エクステンションの練習問題。


