見出し画像

Swiftで行こう!--Protocolで簡単、機能追加!

extensionを使うことでProtocolを便利に使うことができます。自分でも書いてみます。

protocol Animal{
   var name:String{get}
   var age:Int{get set}
   func bark()->String

Animalでprotocolを宣言して、

extension Animal{
   func bark() ->String{
      return "nyaaa"
   }
}

extensionします。

return "nyaaa"

を追加してやることで、bark()がすぐに使えるようになります。

試してみましょう!

struct Dog:Animal{
   var name = "taro"
   var age = 9
}
var dog = Dog()
dog.name
dog.age
dog.bark()

構造体StructでDogを定義してやり、var dogとしてインスタンス化して使ってみます。
dog.bark()はStructで定義していませんが

dog.name
dog.age
dog.bark()

についてplaygroundで実行すると、

"taro"
"9"
"nyaaa"

となっています。Protocolを便利に使いたいですね。

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