Swift 勉強中 プロトコル②

絶対に挫折しないとか猿でも分かるとか本のタイトルにつけないでほしいわ・・・

タイトルで逆に読む方のハードル上げてない?

これで解らないのは読んでる方がおかしいんですよって事でしょ

 

まだまだ意味が分からないけど意味がわからないなりに続けていくとこんな感じ

 

protocol OsushinoNakami {

            func NetanoNamae( )

     optional func Wasabi( )

}

 

お寿司の中身プロトコルの中のお寿司のネタの名前メソッド

(と、実装しなくてもいいワサビメソッド)

 

class Maguro:OsuishinoNakami {

            func NetanoNamae ( ) {

            print("マグロです")

           }

}

マグロclassがお寿司の中身プロトコルに批准する

 

var Nigiri : OsushinoNakami = Maguro( ) ⭕️ 

var Nigiri : OsushinoNakami = Ocha( )  ❌

 

var Nigiri:Protocol<OsushinoNakami,OsushinoNedan> = Maguro ( )

 

変数の型にお寿司の中身プロトコルを指定すると、

批准したクラスのインスタンス( )しか格納できなくなる

エラーを防ぐためにするらしい。

複数のプロトコルを指定する場合は少し書き方が変わる。

 

class Maguro:Sakana, OsushinoNakami {

       }

マグロclassに親classがある場合、お寿司の中身プロトコルの前に書く。

 

 

で、これを何に使うねん?