1. 程式人生 > >第三集:Solidity面向物件

第三集:Solidity面向物件

面向物件:OO程式設計,針對面向過程而言的。   特點:封裝、繼承、多型

繼承:

  1. 在solidity中,繼承就是合約與合約之間一種特殊的傳遞關係。
  2. 通過”is”關鍵字實現繼承。子合約(派生合約)可以訪問父合約中所有非private的狀態變數與函式。
  3. 繼承支援引數傳遞
  4. 支援多重繼承:在solidity中,支援多重繼承,但是多重繼承中有重名合約。多個繼承之間用逗號隔開,如果一個合約繼承了多個其它的合約,在區塊鏈上只會建立一個合約,父合約中的程式碼都會進行拷貝形成繼承(也就是把父合約程式碼拷貝到子合約中)。
  5. 如果一個合約繼承了多個父合約,而這多個父合約中有同名函式,預設繼承最後一個函式,前的合約同名函式被覆蓋了。如果需要呼叫指定父合約的函式,可以通過合約名稱進行顯式指定。

 

 

抽象:

  1. 抽象合約是一個包含了沒有函式體的函式,也可能包含一些正常函式,但量,只要該合約中有一個抽象函式,它就是抽象合約。抽象合約不能夠通過編譯,可以被繼承。
  2. 抽象類似於多型,子合約通過繼承完成同名函式的不同實現。