Las interfaces son similares a los contratos abstractos y se crean utilizando interfacepalabra clave. Las siguientes son las características clave de una interfaz.
La interfaz no puede tener ninguna función con la implementación.
Las funciones de una interfaz solo pueden ser de tipo externo.
La interfaz no puede tener constructor.
La interfaz no puede tener variables de estado.
La interfaz puede tener enum, estructuras a las que se puede acceder mediante la notación de puntos del nombre de la interfaz.
Ejemplo
Pruebe el siguiente código para comprender cómo funciona la interfaz en Solidity.
pragma solidity ^0.5.0;
interface Calculator {
function getResult() external view returns(uint);
}
contract Test is Calculator {
constructor() public {}
function getResult() external view returns(uint){
uint a = 1;
uint b = 2;
uint result = a + b;
return result;
}
}
Ejecute el programa anterior siguiendo los pasos proporcionados en el capítulo Primera aplicación de Solidity.
Note - Seleccione Prueba en el menú desplegable antes de hacer clic en el botón de implementación.
Salida
0: uint256: 3