Skip to main content

抽象合约(abstract)

  • 如果未实现合约中的至少一个函数,则必须将合约标记为 abstract。 即使实现了所有功能,合约也可能被标记为 abstract。
  • 当合约中至少有一个函数没有被实现,或者合约没有为其所有的基类合约构造函数提供参数时,必须将合约标记为 abstract 。
  • 如果合约继承自抽象合约,并且没有通过重写来实现所有未实现的函数, 它依然需要标记为抽象 abstract 合约.
  • 使用关键字 abstract 定义抽象合约合约

例如:

pragma solidity >=0.6.0 <0.9.0;

abstract contract Feline {
function utterance() public pure returns (bytes32);
}

contract Cat is Feline {
function utterance() public pure returns (bytes32) { return "miaow"; }
}