Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

solidity
communitycreator

What are abstract contracts in Solidity?

Chinweuba Elijah Azubuike

Overview

Contracts that contain at least one function but no implementation are known as abstract contracts. An abstract instance cannot be generated. Abstract contracts serve as the foundation for child contracts and allow them to inherit and utilize their functionalities.

There is no abstract term in Solidity for establishing an abstract contract. However, if a contract includes unimplemented functions, it becomes abstract.

Example

pragma solidity ^0.5.0;

contract Calculator {
   function getResult() public view returns(uint);
}
contract Test is Calculator {
   function getResult() public view returns(uint) {
      uint a = 1;
      uint b = 2;
      uint result = a + b;
      return result;
   }
}
Abstract contract example

Output

Run the code above to see its output. However, you’ll get something like this:

0: uint256: 3

Explanation

Line 3: An abstract contract Calculator is formed.

Line 6: The Test contract inherits and implements all of the Calculator abstract contract’s functionalities.

Lines 7–11: All of the abstract functions implemented in the child contract are called using the child contract object.

A sample diagram on abstract contracts
A sample diagram on abstract contracts

RELATED TAGS

solidity
communitycreator

CONTRIBUTOR

Chinweuba Elijah Azubuike
RELATED COURSES

View all Courses

Keep Exploring