Solidity建構函式和析構函式

2022-02-15 05:23:32 字數 1134 閱讀 8923

建構函式:當方法名字和合約名字相同的時候,這個就是建構函式,建構函式在合約物件建立之後執行的

contract  person

}

析構函式:selfdestruct

selfdestruct(msg.sender)//

析構函式

pragma  solidity  ^0.4.13;//

首先第乙個是版本的申明

/*pragma;版本申明

solidity:開發語言

0.4.13:當前合約的版本,0。4代表的是主版本,.13代表的修復bug的公升級版

^代表的是向上相容的意思,0.4.13`0.4.9可以對我們當前的**進行編譯

*///

contrace person類似 class person extends contract

contract person

//標準的形式來寫,駝峰的形式來寫sethight

function sethight(uint

height)

//度去_height,如果後面不加上constant的話,那麼要呼叫call方法才可以,如果加上了call方法的話,那麼就不需要加上call方法就可以取出來

function gteheight() constant returns (uint)

function kill()

} function owner() constant returns (address) }//

每乙個合約都有乙個位址

//在執行這個合約物件的時候,會先去建立判斷這些帶constant的方法

從這裡可以看到這個合約的詳細資訊:

cost:建立這個合約所消耗的gas,不管建立合約物件或者是執行合約裡面的方法的時候都會消耗gas值

abi:可以去轉化為josn的格式

建構函式和析構函式

建構函式沒有返回值,不能被顯示的呼叫。它是在定義物件時由系統自動執行的,而且只執行一次。如果沒有定義建構函式,系統會自動生成乙個建構函式,只是這個建構函式的函式體是空,沒有引數,也不執行任何初始化的操作。帶引數的建構函式 有一種簡練,方便的寫法 建構函式的引數初始化表 box int h,int w...

析構函式和建構函式

每個物件生成的時候都要完成物件的初始化,如設定屬性的初始值。c 中規定每個類都有乙個初始值,如果沒有,系統會產生乙個預設的建構函式。這個建構函式沒有任何引數,不做任何額外的工作。但往往我們會自己寫乙個建構函式,用來進行特殊的初始化工作。這樣的話,編譯器就不會再為其生成預設的建構函式。class 類名...

建構函式和析構函式

stock hot 因為資料部分的訪問狀態是私有的,程式不能訪問資料成員。建立stock的建構函式,由於需要為stock提供3個值,因此應為建構函式提供3個引數值,程式設計師可能指向設定company成員,而其他的設定為0 使用預設引數完成 宣告如下 stock const char co,int ...