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.
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;}}
Run the code above to see its output. However, you’ll get something like this:
0: uint256: 3
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.