Inheritance is supported in Solidity. The is keyword is used to derive a contract from another contract. In the following example, valueChecker2 is derived from the valueChecker contract. The derived contract has access to all non-private members of the parent contract:
pragma solidity ^0.4.0; contract valueChecker { uint8 price = 20; event valueEvent(bool returnValue); function Matcher(uint8 x) public returns (bool) { if (x>=price) { valueEvent(true); return true; } } } contract valueChecker2 is valueChecker { function Matcher2() public view returns (uint) { return price+10; } }
In the preceding example, if the uint8 price = 20 is changed to uint8 private price = 20, then it will not be accessible by the valueChecker2 contract. ...