【Solidity】internal、private、external、public区别

public与private

对于publicprivate,相信学过其他主流语言的人都能明白:

  • public修饰的变量和函数,任何用户或者合约都能调用和访问。
  • private修饰的变量和函数,只能在其所在的合约中调用和访问,即使是其子合约也没有权限访问。

external和internal

publicprivate 属性之外,Solidity 还使用了另外两个描述函数可见性的修饰词:internal(内部) 和 external(外部)。

  • internalprivate 类似,不过, 如果某个合约继承自其父合约,这个合约即可以访问父合约中定义的“内部”函数。
  • externalpublic 类似,只不过这些函数只能在合约之外调用 - 它们不能被合约内的其他函数调用。
注意
internal、private、external、public这4种关键字都是可见性修饰符,互不共存

猜你喜欢

转载自blog.csdn.net/qq_33829547/article/details/80460013
今日推荐