Capacitando seus contratos Ethereum com Solidity Inheritance
Nosso objetivo neste artigo é explorar a herança do Solidity e como ela pode ser utilizada para fazer contratos inteligentes eficazes e eficientes .
O Solidity permite que os contratos inteligentes herdem uns dos outros, permitindo que vários contratos se tornem um.
Nos termos do contrato, o contrato cujas características outros contratos herdam é chamado de contrato base, enquanto o contrato que herda as características é chamado de contrato derivado.
O que é Solidity Herança?
Herança é um conceito de programação que permite que uma nova classe, chamada classe filha, herde propriedades e métodos de uma classe existente, chamada classe pai.
No Solidity, os contratos podem ser usados como classes, e a herança permite que novos contratos herdem propriedades e métodos dos contratos pai.
Os contratos derivativos podem acessar todos os membros não privados, incluindo variáveis de estado e métodos internos. No entanto, não é permitido usá-lo.
É permitido substituir funções desde que suas assinaturas permaneçam as mesmas. A compilação falhará se os parâmetros de saída forem diferentes.
A função de um super contrato pode ser chamada com uma palavra-chave super ou com o nome de um super contrato.
Quando várias heranças estão presentes, as chamadas de função que usam a palavra-chave super invocam a maioria das funções no contrato derivado.
Tipos de herança de solidez
Solidity fornece diferentes tipos de herança. Seguem seus tipos:
tipos | Visão geral |
Herança única | Um contrato herda de apenas um contrato pai. |
Herança múltipla | Um contrato é herdado de vários contratos pai. |
Herança hierárquica | Um contrato pode ser tanto um contrato filho quanto um contrato pai, criando uma estrutura de herança hierárquica. |
Herança linear | Um tipo de herança múltipla em que o gráfico de herança é uma cadeia linear, com cada contrato herdando apenas de um contrato pai. |
Herança híbrida | Uma combinação de herança linear e hierárquica, em que os contratos herdam de vários contratos pai, mas também formam uma hierarquia. |
Herança Única
A herança única do Solidity é um processo de herdar um contrato derivado de um contrato pai para ter acesso às suas variáveis e métodos de estado.
O exemplo abaixo mostra o fenômeno funcional da herança única:
Example:
Herança Múltipla
Um tipo de herança em que uma classe filha pode ter mais de um pai é conhecido como herança múltipla.
Isso permite que a classe filha acesse os atributos e funções de ambos os pais, tornando o código reutilizável e curto.
Por exemplo, considere o seguinte código:
Example:
Hierárquico - Herança Multinível
Isso é muito semelhante à herança única, exceto que existem níveis de relacionamento entre pai e filho.
Os contratos infantis derivados dos pais atuam como pais para os contratos derivados deles.
O código a seguir explicará o conceito de herança multinível: