pragma solidity 0.8.7; abstract contract abstractHelloWorld { function GetValue() virtual public view returns (uint); function SetValue(uint _value) virtual public; function AddNumber(uint _value) virtual public returns (uint) { return 10; } } interface pureAbstractHelloWorld { function GetValue() external view returns (uint); function SetValue(uint _value) external; } contract HelloWorld is abstractHelloWorld{ uint private simpleInteger; function GetValue() public override view returns (uint) { return simpleInteger; } function SetValue(uint _value) public override { simpleInteger = _value; } function AddNumber(uint _value) public override returns (uint ){ return simpleInteger = _value; } }