1. 程式人生 > >【Solidity】internal、private、external、public區別(測試後整理)

【Solidity】internal、private、external、public區別(測試後整理)

public與private

對於public和private,相信學過其他主流語言的人都能明白:

public修飾的變數和函式,任何使用者或者合約都能呼叫和訪問。
private修飾的變數和函式,只能在其所在的合約中呼叫和訪問,即使是其子合約也沒有許可權訪問。
external和internal

除 public 和 private 屬性之外,Solidity 還使用了另外兩個描述函式可見性的修飾詞:internal(內部) 和 external(外部)。

internal 和 private 類似,不過, 如果某個合約繼承自其父合約,這個合約即可以訪問父合約中定義的“內部”函式。
external 與public 類似,只不過這些函式只能在合約之外呼叫 - 它們不能被合約內的其他函式呼叫。