solidity 中的函数的可见性与继承 发表评论 1938 views 王亚飞的博客 编程 学习笔记 solidity 中的函数的可见性与继承 函数的可见性 publicpublic 可以任意调用。 内部: func() this.func() ,外部: contract.func() external 可以通过内部函数和外部函数的方式进行调用。但是标记了 external 的函数,在函数内部只能以 this.func() 的方式嗲用,不能直接 func() 调用 internal 只能在合约内部或者继承合约里调用。 可以func() ,不可以 this.func() , 不可以外部调用 private 只能在合约内部调用,不能被继承合约调用,不能被this.func() 调用。只可以 func(); 函数的继承 virtual 标记此函数可以被重写。只有标记为virtual的函数才可以重写 override 重写 virtual 标记的函数 solidity 中的数据存储 calldata 作用类似于 memory , 但是是只读的。所以如果有情况可用 calldata 和 memory,使用calldata更好。 memory 存储于内存中,仅在函数调用期间生效 storage 持久的存储于链上