25 lines
992 B
Solidity
25 lines
992 B
Solidity
/**
|
|
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.
|
|
*/
|