PHPのextendsでクラスを継承する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPのextendsでクラスを継承する方法について解説しています。PHPのextendsキーワードを使用することで、クラスを「継承」することができます。クラスの継承とは元のクラスのプロパティやメソッドを別のクラスが引き継ぐことです。クラスを継承して親クラスのメソッドを使ってみます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPのextendsでクラスを継承する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのextendsでクラスを継承する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

extendsとは

PHPのextendsキーワードを使用することで、クラスを「継承」できます。

継承とは、あるクラスのメソッド(アクセス修飾子がpublic,protectedのもの)を引き継いでクラスを拡張する方法です。
 

extendsでクラスを継承する方法

ここでは、extendsキーワードを使用して、親クラスを子クラスが継承する方法について見ていきます。

class 子クラス名 extends 親クラス名 {
}

上記のように、子クラスを定義する際にextendsキーワードの後ろに親クラス名を記載することで、親クラスを継承する子クラスを定義できます。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

実際にextendsキーワードを使用して、継承するサンプルを見ていきましょう。

<?php
class Animal {
    private $name = '';

    public function getName() {
        return $this->name;
    }
    public function setName(string $name) {
        $this->name = $name;
    }
}

class Dog extends Animal {
    public function call() {
        return 'わんわん';
    }
}

class Cat extends Animal {
    public function call() {
        return 'にゃーにゃー';
    }
}

$dog = new Dog();
$cat = new Cat();

$dog->setName('ぽち');
$cat->setName('たま');

echo $dog->getName()."の鳴き声は".$dog->call()."です\n";
echo $cat->getName()."の鳴き声は".$cat->call()."です\n";
?>

 

出力結果

ぽちの鳴き声はわんわんです

たまの鳴き声はにゃーにゃーです

上記の例では、親クラスAnimalを子クラスDog,Catが継承しています。そのため、newキーワードでインスタンス化した際、親クラスAnimalの子クラスDog,Catは引き継いだメソッドsetName()とgetName()を使用できます。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。