Solidityのコードで必ず見かける「constructor(コンストラクタ)」について解説します。
そもそもコンストラクタとは?
コンストラクタは、コントラクトの状態を初期化するのに使用されます。
constructor関数内のコードは、コントラクトがデプロイされた際、一度だけ実行されます。
そのため、コントラクトで事前に設定したい初期値などを、コンストラクタに記述します。
コンストラクタの書き方
コンストラクタの書き方ですが、以下のようになります。
constructor関数には引数を渡すこともできます。
contract MyContract {
// コンストラクタ
constructor([引数]) {
処理
}
}
実際の記述例は以下となります。
constructor部分だけでなくコード全文も見たい場合、次章の「サンプルコード」を参照下さい。
contract TestContract {
address private owner;
uint private balance;
constructor() {
owner = msg.sender;
balance = 1000;
}
}
サンプルコード
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract TestContract {
address private owner;
uint private balance;
constructor() {
owner = msg.sender;
balance = 1000;
}
function isOwner() public view returns(bool) {
return msg.sender == owner;
}
function getBalance() public view returns(uint) {
return balance;
}
}
コンストラクタの使い方はSolidityのコードを書く上で必ず知っておかなければなりません。しっかりとマスターしておきましょう。