属性、函数、访问修饰符
选择最新的版本,不好用,难道需要翻墙
pragma solidity ^0.4.24;
contract AttrFnDemo{
// 属性的默认访问修饰符:internal,但是函数默认访问修饰符public
uint private _age; // private 仅仅当前合约可以访问
string internal _name; // 当前合约和子合约可以访问
int public _num; // 外部可以直接调用
// 函数名与合约名相同,则此函数为构造函数
constructor (uint age,string name,int num){
// this 代表当前合约(地址),但是不能直接和属性名称使用
_age = age;
_name = name;
_num = num;
}
// 构造函数在智能合约中不支持多态(重载)
function age() private returns (uint){
return _age;
}
function name() internal returns (string){
return _name;
}
function num() public returns (int){
return _num;
}
// // 没有指定访问修饰符,默认为public
function show() returns (uint,string,int){
return (_age,name(),_num);
}
//solidity 默认普通的函数是支持多台性(重载)
// function show(int x) returns (uint,string,int){
// return (_age,name(),_num);
// }
}