堅実性-抽象的な契約

抽象コントラクトは、実装なしで少なくとも1つの関数を含むものです。このような契約は基本契約として使用されます。一般に、抽象コントラクトには、実装された関数と抽象関数の両方が含まれます。派生コントラクトは、抽象関数を実装し、必要に応じて既存の関数を使用します。

派生コントラクトが抽象関数を実装していない場合、この派生コントラクトは抽象としてマークされます。

次のコードを試して、Solidityで抽象コントラクトがどのように機能するかを理解してください。

pragma solidity ^0.5.0;

contract Calculator {
   function getResult() public view returns(uint);
}
contract Test is Calculator {
   function getResult() public view returns(uint) {
      uint a = 1;
      uint b = 2;
      uint result = a + b;
      return result;
   }
}

Solidity First Applicationの章に記載されている手順を使用して、上記のプログラムを実行します。

出力

0: uint256: 3