親クラスの静的メソッドを呼び出す

親クラスの静的メソッドを、子クラスから呼び出すには、parentキーワードを使うことができる。

同じクラスの静的メソッドを呼び出すには、selfキーワードを使うことができる。

書式

class クラスA // クラスを定義
{
    static function メソッドA() { // 静的メソッドを定義
        // メソッド内処理文
    }
}
class クラスB extends クラスA // クラスAを継承し、クラスBを定義
{
    static function メソッドB() { // 静的メソッドを定義
        parent::メソッドA(); // 親クラスである「クラスA」の「メソッドA」の静的メソッドを呼び出す
    }
}

ポイント

キーワードparent、スコープ定義演算子::のあとに、メソッド名、丸括弧()を続ける。

丸括弧()内に、引数を設定することもできる。

parent::メソッド名();

サンプル

<?php
class taxClass
{
    public static function func_tax( $var, $varTax ) {
        return $var * ( 1 + $varTax );
    }
}
class taxClass5 extends taxClass
{
    public static $varTax = 0.05;
    public static function func_echo( $var ) {
        echo parent::func_tax( $var, self::$varTax ) . '<br />';
    }
}
class taxClass7 extends taxClass
{
    public static $varTax = 0.07;
    public static function func_echo( $var ) {
        echo parent::func_tax( $var, self::$varTax ) . '<br />';
    }
}
echo '税率' . taxClass5::$varTax * 100 . '%の場合: ';
taxClass5::func_echo( 100 );
echo '税率' . taxClass7::$varTax * 100 . '%の場合: ';
taxClass7::func_echo( 100 );
?>

↓↓↓出力結果↓↓↓

税率5%の場合: 105
税率7%の場合: 107

スポンサード リンク

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