11月8日(水)3コマ目
今日、やったこと
エクステンション
今日のホワイトボード
エクステンション
エクステンションは新たにクラスを追加することなく、既存のクラスに関数やプロパティ、イニシャライザを追加するための仕組み。
同じ仕組みとして、継承があるが、継承が使えるのはクラスのみ。
エクステンションはクラスだけでなく、構造体、列挙型、プロトコルにも使える。
![]() |
| 図 継承とエクステンションの違い |
練習問題
正解例をあげておきます。
練習問題5-1
これは構造体を作るだけ。エクステンションは関係なし。
練習問題5-2
練習問題5-1で作ったVelocity構造体にエクステンションで関数を追加。
〇ヒント
Velocity構造体が必要なので、コピー。
![]() |
| 図 練習問題5-2 Velocity構造体をコピー |
お節介とは思いますが、一応。
![]() |
| 図 練習問題5-2 お節介とは思いますが その1 |
![]() |
| 図 練習問題5-2 お節介とは思いますが その2 |
練習問題5-3
練習問題5-1のVelocity構造体に練習問題5-2で関数を追加し、さらにエクステンションでプロパティを追加。
〇ヒント
Velocity構造体と練習問題5-2のエクステンションをコピー。
![]() |
| 図 Velocity構造体、meterPerMin()関数をコピー |
![]() |
| 図 コンピューテッドプロパティ |
練習問題5-4
これは構造体を作るだけ。
練習問題5-5
練習問題5-4で作ったAddition構造体にイニシャライザを追加。
次回は
プロトコルをやります。





