Solidez - Contratos Abstratos

Contrato abstrato é aquele que contém pelo menos uma função sem qualquer implementação. Esse contrato é usado como um contrato base. Geralmente, um contrato abstrato contém funções tanto implementadas quanto abstratas. O contrato derivado implementará a função abstrata e usará as funções existentes como e quando necessário.

Caso um contrato derivado não esteja implementando a função abstrata, esse contrato derivado será marcado como abstrato.

Exemplo

Experimente o código a seguir para entender como os contratos abstratos funcionam no 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;
   }
}

Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .

Resultado

0: uint256: 3