什么是合约?
在区块链上运行的程序,可以称为是 智能合约。
Solidity是以太坊智能合约编程语言,如果在学习该内容之前,你还不了解什么是以太坊,建议先去百度
先贴出来一个完成的合约结构:
//版本号
pragma solidity ^0.4.4;
/**
^ 表示向上兼容
**/
// 类似与 class Person extends Contract
contract Person{
uint _height; //属性
uint _age;
address _owner; //合约拥有着
//构造函数 ,用户初始化,在创建对象时被自动调用
function Person(){
_height = 180;
_age = 29;
_owner = msg.sender;
}
function setHeight(uint height){
_height = height;
}
function height() constant returns (uint){
return _height;
}
function owner() constant returns (address){
return _owner;
}
function kill () constant{
if(_owner == msg.sender){
//析构函数
selfdestruct(_owner );
}
}
}
可以看出来,Solidity也是面向对象的语言,与java语言很像。
下面具体对其中某几个点进行讲解:
版本 : 0.4.4代表solidity版本, ^表示向上兼容
合约: contract Person 相当于java中的 class Person extends Contract , contract为合约关键字, Person为名字
变量: uint _height 与java中的变量一样
构造函数: function Person(){} 与java中基本类似,在合约创建时自动执行
成员函数: function setHeight(uint height) {} 表示参数为uint 类型
function height() constant returns (uint){} 表示返回值为uint类型
析构函数: function kill() constant{ selfdestruct(_owner) } 用于销毁数据
公众号: