見出し画像

Swiftでいこう -- Protocolを使おう。

Swiftでは変数や関数をまとめて"class","struct"で定義してコードを書いて行きます。例えば

class Peaple{
   
   var name:String = "taro"    // 変数の定義
   
   func greet(){         // メソッドの定義
       print("Hellow")
   }
}

ですね。

Protocol

とはなんでしょうか?class,structは具体的な実装がされています。プロパティがあってメソッドがある。多種多様なものができます。

多種多様すぎて少しわかりにくくなる場合がありますよね。

そこである一定の型を作っておいて、それに当てはめて使うことを考える。

型があればある程度の中身は同じ構造をとるということなので、ざっと見渡した時に理解しやすくなります。そういう仕組みを作り上げているということです。

具体的には

protocol Peaple{
   var name:String{get}
   var age:Int{get}
   func greet(_ str:String)
}

"protocol Peaple"ということで定義します。

プロパティ name,ageとメソッド greetを定義しています。

それでは、protocolを使ってclassを作ってみましょう。

class Man:Peaple{
  var name: String = ""
  var age: Int = 0
  func greet(_ str: String) {
      print(str)
  }
  
}

name= "" 、age = 0、 greet()はprint(str)と実装してみました。

つぎは使ってみます。

var man = Man()
man.greet("おはよ") // "おはよ"と表示された。

問題なく使えます。

protocolを通して、把握しやくなりますね。



この記事が気に入ったらサポートをしてみませんか?