親クラスのコンストラクタ・メソッド

子クラスにコンストラクタ・メソッドがなければ、親クラスのコンストラクタ・メソッドを、自動的に呼び出す。

子クラスにコンストラクタ・メソッドがあるときは、親クラスのコンストラクタ・メソッドを、自動的には呼び出さない。親クラスのコンストラクタ・メソッドを呼び出すには、子クラスのコンストラクタの中で、parent::__construct();とする。

書式

子クラスにコンストラクタ・メソッドがない場合

class クラスA // クラスを定義
{
    function __construct() {
        // コンストラクタ・メソッド内の処理文;
    }
}
class クラスB extends クラスA // クラスAを継承しクラスBを定義
{
}
$オブジェクト変数名 = new クラスB(); // 「クラスB」のクラスのインスタンスを作成

「クラスA」のクラスのコンストラクタ・メソッドを呼び出す。

子クラスにコンストラクタ・メソッドがある場合

class クラスA // クラスを定義
{
    function __construct() {
        // コンストラクタ・メソッド内の処理文;
    }
}
class クラスB extends クラスA // クラスAを継承しクラスBを定義
{
    function __construct() {
        // コンストラクタ・メソッド内の処理文;
    }
}
$オブジェクト変数名 = new クラスB(); // 「クラスB」のクラスのインスタンスを作成

「クラスB」のクラスのコンストラクタ・メソッドを呼び出す。

parent::__construct();

class クラスA // クラスを定義
{
    function __construct() {
        // コンストラクタ・メソッド内の処理文;
    }
}
class クラスB extends クラスA // クラスAを継承しクラスBを定義
{
    function __construct() {
        parent::__construct();
        // コンストラクタ・メソッド内の処理文;
    }
}
$オブジェクト変数名 = new クラスB(); // 「クラスB」のクラスのインスタンスを作成

「クラスA」と「クラスB」のクラスのコンストラクタ・メソッドを呼び出す。

サンプル

子クラスにコンストラクタ・メソッドがない場合

<?php
class sampleClassA
{
    function __construct() {
        echo '親クラスのコンストラクタ・メソッド<br />';
    }
}
class sampleClassB extends sampleClassA
{
}
$var_class = new sampleClassB();
?>

↓↓↓出力結果↓↓↓

親クラスのコンストラクタ・メソッド

子クラスにコンストラクタ・メソッドがある場合

<?php
class sampleClassA
{
    function __construct() {
        echo '親クラスのコンストラクタ・メソッド<br />';
    }
}
class sampleClassB extends sampleClassA
{
    function __construct() {
        echo '子クラスのコンストラクタ・メソッド<br />';
    }
}
$var_class = new sampleClassB();
?>

↓↓↓出力結果↓↓↓

子クラスのコンストラクタ・メソッド

parent::__construct();

<?php
class sampleClassA
{
    function __construct() {
        echo '親クラスのコンストラクタ・メソッド<br />';
    }
}
class sampleClassB extends sampleClassA
{
    function __construct() {
        parent::__construct();
        echo '子クラスのコンストラクタ・メソッド<br />';
    }
}
$var_class = new sampleClassB();
?>

↓↓↓出力結果↓↓↓

親クラスのコンストラクタ・メソッド
子クラスのコンストラクタ・メソッド

スポンサード リンク

カテゴリー: PHP, オブジェクト指向プログラミング タグ: パーマリンク