Solidity - Interfaces

Interfaces are similar to abstract contracts and are created using interface keyword. Following are the key characteristics of an interface.

  • Interface can not have any function with implementation.

  • Functions of an interface can be only of type external.

  • Interface can not have constructor.

  • Interface can not have state variables.

  • Interface can have enum, structs which can be accessed using interface name dot notation.


Try the following code to understand how the interface works in 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;

Run the above program using steps provided in Solidity First Application chapter.

Note − Select Test from dropdown before clicking the deploy button.


0: uint256: 3
Kickstart Your Career

Get certified by completing the course

Get Started