solidity合约中属性的访问权限
属性:状态变量。
以太坊有4种可见度类型/访问权限:public、private、internal、external
// SPDX-License-Identifier: MIT
pragma solidity ^0.4.0;
contract Person {
uint internal _age;
uint private _height;
uint public _weight;
function _weight() constant returns (uint) {
return 120;
}
}
说明:
-
internal类型是合约默认属性。
-
internal和private类型的属性不能被外部访问。
-
当属性类型是public时,会生成和属性名一样的get(就是读取)函数,返回值就是当前属性。
自己写的的这个get函数会覆盖掉public类型的属性自动生成的get函数。
在上图,_monery()函数的返回值是120,而不是0。