【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という名前のコントラクトを作成します。
次に青線を見ていきます。
上で作成したZombieFeedingコントラクトはZombieFactoryコントラクトを継承するので、次のようになります。
以上お疲れさまでした!
<参考>
CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network