Solidity基础教程:合约的继承与方法的重写

Solidity基础教程:合约的继承与方法的重写

合约继承

合约继承使用is关键字

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
	...

    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        return _balances[owner];
    }
    ...
}

方法重写

方法重写的前提就是当前合约继承其他合约,并且其他合约中的某个需要被重写的方法标注为virtual。例如下面这个@openzippelin/contracts库的,ERC721合约实现中的balanceOf方法。

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
	...

    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值