記事の内容
この記事では、PHPの継承とトレイとについて説明します。
両方ともコードを再利用するための仕組みですが、用途は少し異なります。
PHPのバージョンは、7系です。
継承(extends)
継承とは、コードを再利用する仕組みです。
クラスの機能を他のクラスで継承したい場合にextendsを使用します。
extendsを使用すれば、子クラスは親クラスからメソッドの内容を引き継ぐことができます。
PHPでは、継承は一つのクラスからしかできません。
つまり、子クラスは一つの親クラスしか持てないということになります。
継承を扱うさいには、アクセス修飾子を意識する必要もあります。
アクセス修飾子には、以下の3つがあります。
- public(どこからでも使うことができる)
- protected(そのクラスと、継承先からだけ使うことができる)
- private(そのクラスからだけ使うことができる)
メソッドの修飾子をprotectedに変更して、コードを実行しました。
誤ったコードでエラーが出ることを確認した上で、正しいコードを動かしてみて下さい。
メソッドの修飾子をprivateに変更して、コードを実行しました。
誤ったコードでエラーが出ることを確認した上で、正しいコードを動かしてみて下さい。
トレイト(trait)
PHPでは複数のクラスを継承する多重継承は、サポートされていません。
それで、多重継承のような機能を使うために、トレイトという機能があります。
トレイトも継承と同様に、コードを再利用する仕組みです。
ただし、トレイトの場合は、いくつものトレイトから機能を引き継ぐことができます。