// SPDX-License-Identifier: GPL-3.0
//明确solidity 版本号
pragma solidity ^0.4.23;
//定义一个合约,内部有不用的方法和属性
contract HelloWorld{
//声明了变量和类型
string public name ="kyp";
//定义不同的函数,属于合约的成员
/*
getName:函数名字
public view :函数类型
returns(String):返回值的类型
*/
function getName() public view returns(string){
return name;
}
function changeName(string _name) public{
name=_name;
}
}
// SPDX-License-Identifier: GPL-3.0
La primera línea es para indicar que el código fuente tiene licencia bajo la versión GPL 3.0.
/*
pragma: declaración de versión solidity:
lenguaje de desarrollo
0.4.4: versión de contrato actual, 0.4 representa la versión principal, .4 representa la versión de actualización con errores corregidos
^: representa compatibilidad ascendente, 0.4.4-0.4.9 se puede usar para compilar nuestro código actual
*/
pragma solidity ^0.4.4;
/*
pragma:版本声明
solidity : 开发语言
0.4.4:当前合约版本,0.4 代表主版本,.4代表修复Bug升级版
^:代表向上兼容,0.4.4-0.4.9可以对我们当前的代码进行编译
*/
//class person 类比 class Person extends Contract
contract Person {
uint _height;
uint _age;
address _owner;//合约的拥有者
/*
方法名和合约名相同时就属于构造函数,
在创建对象时,构造函数会自动最先被调用
*/
function Person(){
_height = 180;
_age = 29;
_owner = msg.sender;//获取合约的拥有者
}
//获取合约地址
function owner() constant returns (address) {
return _owner;
}
//set 方法
function setHeight(uint height) {
_height = height;
}
//get 方法
//constant:方法只读
function height() constant returns (uint) {
return _height;
}
function setAge(uint age) {
_age=age;
}
function age() constant returns (uint) {
return _age;
}
function kill() {
if(_owner == msg.sender){
//析构函数
selfdestruct(_owner);//销毁合约的对象
}
}
}