「extends」キーワードで、他のクラスのプロパティとメソッドを継承

他のクラスのプロパティとメソッドを継承するには、「extends」キーワードを使う。

複数のクラスから継承することはできない。

書式

class クラスA // クラスを定義
{
    public $プロパティ名 =; // プロパティを定義
    function メソッド名() { // メソッドを定義
        メソッド内処理文;
    }
}
class クラスB extends クラスA // クラスAを継承し、クラスBを定義
{
    function メソッドB() { // メソッドを定義
        $this->プロパティ名;  // 親クラスである「クラスA」の「プロパティ名」のプロパティへアクセス
        $this->メソッド名();  // 親クラスである「クラスA」の「メソッド名」のメソッドを呼び出す
    }
}

クラスAのプロパティとメソッドを、クラスBは継承する。

クラスAは、クラスBの親クラス(基底クラス、スーパークラス)となる。

クラスBは、クラスAの子クラス(派生クラス、サブクラス)となる。

サンプル

<?php
class taxClass
{
    public $varTax = 0.05;
    function func_tax( $var ) {
        return $var * ( 1 + $this->varTax );
    }
}
class echoTaxClass extends taxClass
{
    function func_echo( $var ) {
        echo '税込:' . $this->func_tax( $var ) . '円<br />';
        echo '税率:' . $this->varTax * 100 . '%<br />';
    }
}
$var_class = new echoTaxClass();
$var_class->func_echo( 100 );
?>

↓↓↓出力結果↓↓↓

税込:105円
税率:5%

スポンサード リンク

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