PHPオンライン学習

ステップ34 - 派生クラスから基底クラスのメソッド呼び出し

やってみよう派生クラス内からは基底クラスのメソッドを呼び出すことが可能です。基底クラスのメソッドを呼び出すにはメソッド名の前にparent::を付与します。逆に基底クラスは派生クラスのことを知らないため基底クラスから派生クラスでオーバーライドされたメソッドを呼び出すことはできません前のステップで定義した派生クラス内に、基底クラスのメソッド呼び出しを追加してみましょう。
サンプルコード
//基底クラス
class Cat {
    private $name = "ネコ";
    function setName($newName) {
        $this->name = $newName;
    }
    function getName() {
        return $this->name;
    }
}

//Catクラスを継承した派生クラス
class Prionailurus extends Cat {
    //プロパティの追加
    private $species = "";
    //メソッドをオーバーライド
    function setName($newName, $newSpecies) {
        $this->name = $newName;
        $this->species = $newSpecies;
    }
    function getName() {
        return $this->name;
    }
    //メソッドの追加
    function getSpecies() {
        return $this->species;
    }
    //基底クラスのメソッド呼び出し
    function getNameParent() {
        return parent::getName();
    }
}

//派生クラスをインスタンス化
$prionailurus = new Prionailurus();
//オーバーライドしたメソッドにアクセス
$prionailurus->setName("イリオモテヤマネコ", "ベンガルヤマネコ");
echo "科:" . $prionailurus->getNameParent() . "\n"; //基底クラスの$name変数の値を取得
echo "属:" . $prionailurus->getSpecies() . "\n";
echo "名前:" . $prionailurus->getName();
        
エディタの表示行数:

PHPバージョン8.2

PHPバージョン:

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

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

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

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