初心者文系主婦がブロックチェーンを学ぶブログ

IT革命のビッグウェーブに乗り遅れた主婦が、ブロックチェーン革命の波にのるべく、ブロックチェーン技術を学ぶブログです。

【CryptZombies】レッスン2チャプター5:継承

継承

コントラクトの継承は、ロジック毎に分けて、後で見直したときにコードを理解しやすくしておくものです。

これは、論理的な継承に利用されています。

例:猫が動物のサブクラス

しかし、それだけでなく、同じようなロジックを別々のコントラクトにまとめて、コードを整理するときに便利です。

contract Doge {
  function catchphrase() public returns (string) {
    return "So Wow CryptoDoge";
  }
}

contract BabyDoge is Doge {
  function anotherCatchphrase() public returns (string) {
    return "Such Moon BabyDoge";
  }
}

BabyDogeはDogeから継承した例です。

この場合、コンパイルしてBabyDogeを実行すれば、catchphrase()とanotherCatchphrase()の両方(それどDogeで定義した場合のpublic関数)にアクセスできます。

 

テストの実行

ZombieFactory下にZombieFeedingという名前のコントラクトを作成せよこのコントラクトはZombieFactoryコントラクトを継承するものでなければならない

まず、赤線から見ていきます。

ZombieFeedingという名前のコントラクトを作成します。

f:id:nomadomama:20181125165631p:plain

 

次に青線を見ていきます。

上で作成したZombieFeedingコントラクトはZombieFactoryコントラクトを継承するので、次のようになります。

f:id:nomadomama:20181125165148p:plain

 

以上お疲れさまでした!

 

 

<参考>

CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network