【Solidity】constructor(コンストラクタ)とは?

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のコードを書く上で必ず知っておかなければなりません。しっかりとマスターしておきましょう。

タイトルとURLをコピーしました