PHPオンライン学習

ステップ33 - 継承とオーバーライド

やってみようあるクラスを基にクラスを生成することをクラスを継承するといいます。継承元のクラスを基底クラス、継承したクラスのを派生クラスと呼びます。派生クラスを作成するには、派生クラス名の後ろにextendsキーワードを付与し、その後ろに基底クラス名を指定します。また、派生クラス側で基底クラスに存在する変数や関数を定義した場合、基底クラスの変数や関数を上書きすることになり、これをオーバーライドと呼びます。派生クラスから基底クラスのメソッドを呼び出すことは可能ですが、その逆はできません。構文:class 派生クラス名 extends 基底クラス名 { 変数や関数を定義 }
サンプルコード
//基底クラス
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;
    }
}

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

PHPバージョン8.2

PHPバージョン:

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

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

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

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