PHPオンライン学習

ステップ37 - コンストラクタとデストラクタ

やってみようコンストラクタはクラスがインスタンス化される際に呼び出されるメソッド、デストラクタはクラスのインスタンスが破棄される際に呼び出されるメソッドになります。これらは初期化終了処理を目的としてクラスに実装されている機能です。初期設定では引数無しのデフォルトコンストラクタデフォルトデストラクタが呼ばれます。派生クラスのインスタンス生成時には、基底クラスのコンストラクタは呼ばれません。もし派生クラスの初期化時に基底クラスのコンストラクタを実行させたい場合は明示的に呼ぶ必要があります。コンストラクタはクラス内で__construct()関数で定義します。デストラクタはクラス内で__destruct()関数で定義します。
サンプルコード
//基底クラス
class Cat {
    //コンストラクタ
    function __construct() {
        echo "Catクラスのコンストラクタを実行\n";
    }
    //デストラクタ
    function __destruct() {
        echo "Catクラスのデストラクタを実行\n";
    }
}

//Catクラスを継承した派生クラス
class Prionailurus extends Cat {
    function __construct() {
        echo "Prionailurusクラスのコンストラクタを実行\n";
        //基底クラスのコンストラクタを明示的に呼ぶ
        echo "Prionailurusクラス内で"; parent::__construct();
    }
    //デストラクタ
    function __destruct() {
        echo "Prionailurusクラスのデストラクタを実行\n";
        //基底クラスのデストラクタを明示的に呼ぶ
        echo "Prionailurusクラス内で"; parent::__destruct();
    }
}

//基底クラスをインスタンス化
$cat = new Cat();
//派生クラスをインスタンス化
$prionailurus = new Prionailurus();
        
エディタの表示行数:

PHPバージョン8.2

PHPバージョン:

使い方 PHPのコードをWeb上で実行して実行結果を確認しながら学べる無料のPHPチュートリアルです。
コード欄にサンプルのPHPのコード(<?php?>は不要)を記述して、実行ボタンをクリックしてください。
PHPのソースコードをphpコマンドで実行するのと同じような感覚で実行結果が下のテキストエリアに表示されます。
また、関数の自動補完(2文字目を入力した時点で関数候補を表示)やコードエディタの背景色の変更も可能です。
PHPを学びたいけど実行環境がすぐに作れない、外出中で実行環境がない場合などに無料で気軽にPHPが学べるサイトです。

注意 無限ループや処理に時間がかかるコードを実行した場合、約1秒でタイムアウトしその時点の結果を出力します。
なるべく高い負荷のかかるコードの実行はご遠慮ください。

注意 画面解像度 1366×768 以上での利用を推奨します。

このページのトップに戻る