Soliditas - Pembangun

Pembuat adalah fungsi khusus yang dideklarasikan menggunakan constructorkata kunci. Ini adalah fungsi opsional dan digunakan untuk menginisialisasi variabel status kontrak. Berikut adalah karakteristik utama dari seorang konstruktor.

  • Sebuah kontrak hanya dapat memiliki satu konstruktor.

  • Kode konstruktor dijalankan satu kali saat kontrak dibuat dan digunakan untuk menginisialisasi status kontrak.

  • Setelah kode konstruktor dijalankan, kode terakhir diterapkan ke blockchain. Kode ini mencakup fungsi publik dan kode yang dapat dijangkau melalui fungsi publik. Kode pembuat atau metode internal apa pun yang hanya digunakan oleh konstruktor tidak termasuk dalam kode akhir.

  • Konstruktor dapat bersifat publik atau internal.

  • Seorang konstruktor internal menandai kontrak sebagai abstrak.

  • Dalam kasus, tidak ada konstruktor yang ditentukan, konstruktor default ada dalam kontrak.

pragma solidity ^0.5.0;

contract Test {
   constructor() public {}
}
  • Dalam kasus, kontrak dasar memiliki konstruktor dengan argumen, setiap kontrak turunan harus melewatinya.

  • Konstruktor basis dapat diinisialisasi secara langsung menggunakan cara berikut -

pragma solidity ^0.5.0;

contract Base {
   uint data;
   constructor(uint _data) public {
      data = _data;   
   }
}
contract Derived is Base (5) {
   constructor() public {}
}
  • Konstruktor basis dapat diinisialisasi secara tidak langsung menggunakan cara berikut -

pragma solidity ^0.5.0;

contract Base {
   uint data;
   constructor(uint _data) public {
      data = _data;   
   }
}
contract Derived is Base {
   constructor(uint _info) Base(_info * _info) public {}
}
  • Cara langsung dan tidak langsung untuk menginisialisasi kontraktor kontrak dasar tidak diperbolehkan.

  • Jika kontrak turunan tidak memberikan argumen kepada kontraktor kontrak dasar maka kontrak turunan akan menjadi abstrak.