pragma solidity ^0.4.24;
//属性,函数,访问修饰符
//属性的默认访问修饰符是 internal, 函数的默认访问符是 public
contract AttrFnDemo{
uint16 private _age;//private 仅仅当前合约可以访问
string internal _name;//internal 仅仅当前合约和当前合约的子合约可以访问
int public _num;// 外部可以调用
//函数名与合约名称相同,则此函数为构造函数
function AttrFnDemo(uint16 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() returns(int){
return _num;
}
//没有指定访问修饰符,默认为 public
function show() returns (uint, string, int){
return (_age, _name, _num);
}
//多态性,重载
//Solidity 普通函数支持多态性,但是构造函数不支持重载
function show(int max) returns (uint, string, int){
return (_age, _name, _num);
}
}
原文地址:http://blog.51cto.com/superhakce/2153370