SolidityLabs/solidity-heranca.sol

26 lines
992 B
Solidity
Raw Permalink Normal View History

2022-07-18 12:05:48 -03:00
/**
Herança
O código do nosso jogo está ficando um tanto grande. Ao invés de fazer um contrato extremamente grande, as vezes faz mais sentido separar as lógicas em vários contratos para organizar o código.
Umas característica que torna o Solidity mais gerenciável é a herança de contrato:
*/
contract Doge {
function catchphrase() public returns (string) {
return "Um papai CryptoDoge";
}
}
contract BabyDoge is Doge {
function anotherCatchphrase() public returns (string) {
return "Um lindo BabyDoge";
}
}
/**
BabyDoge herda de Doge. Isso significa que se você compilar e implantar BabyDoge, ele terá acesso a ambas catchphrase() e anotherCatchphrase() (e qualquer outra função pública que nós podemos definir em Doge).
Isto pode ser útil para uma herança lógica (assim como uma sub classe, um Cat é um Animal). Mas também pode ser usado para uma simples organização em seu código ao agrupar lógicas similares juntas em diferentes classes.
*/