Polimorfismo de Solidez
Neste artigo, veremos técnicas de polimorfismo de solidez que nos ajudarão a usar as funções de solidez de maneira eficiente.
O Solidity, assim como qualquer outra linguagem de programação, possui a capacidade de processar dados em múltiplas formas, o que é conhecido como polimorfismo .
Em particular, o Solidity permite dois tipos de polimorfismo:
- Polimorfismo de funções.
- Polimorfismo Contratual.
Em primeiro lugar, aprenderemos sobre o polimorfismo de funções.
Polimorfismo de Solidez - Função
Sobrecarga de métodos, ou Polimorfismo de Função, é um recurso que permite declarar várias funções com o mesmo nome dentro de um contrato ou contrato herdado.
Duas funções com o mesmo nome podem ser sobrecarregadas alterando o número de parâmetros ou o tipo de dados dos parâmetros.
O exemplo a seguir mostra a função get_Sum() sendo sobrecarregada, alterando os tipos de dados de seus parâmetros:
Example:
Exemplo de Explicação
O exemplo acima é um contrato inteligente do Solidity que demonstra polimorfismo de função, especificamente sobrecarga de método.
O contrato é chamado “ SolidityTest ” e define duas funções com o mesmo nome, “ get_Sum “, mas com diferentes tipos de parâmetros de entrada ( uint e int ).
A primeira função recebe dois inteiros sem sinal (uint mrx e uint ample ) como entradas e retorna sua soma como um inteiro sem sinal (uint).
A segunda função recebe dois inteiros com sinal (int mrx e int ample) como entradas e retorna sua soma como um inteiro com sinal (int).
Isso significa que se um usuário chamar a função “get_Sum” com duas entradas uint, a primeira função será executada e retornará um resultado uint.
Por outro lado, se um usuário chamar a mesma função com duas entradas int, a segunda função será executada e retornará um resultado int.
Da mesma forma, o mesmo processo de sobrecarga de função pode ser feito alterando o número de parâmetros da função conforme mostrado abaixo:
Example:
Vamos passar para o segundo tipo de polimorfismo de solidez, que é o polimorfismo de contrato.
Polimorfismo Contratual
Refere-se à prática de utilizar várias instâncias de contratos relacionados de forma intercambiável por meio de herança.
Isso permite que funções de contrato filho sejam chamadas usando uma instância de contrato pai.
O exemplo a seguir nos ajudará a entender o polimorfismo do contrato: