PHPの抽象クラスの書き方を現役エンジニアが解説【初心者向け】
初心者向けにPHPの抽象クラスの書き方について現役エンジニアが解説しています。抽象クラスとは他のクラスに継承されることが前提とし、自分自身でインスタンスを生成することは出来ないクラスです。抽象クラスはabstractで初め、抽象メソッドや他のメソッドを定義することが可能となります。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPの抽象クラスの書き方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPの抽象クラスの書き方について詳しく説明していくね!
お願いします!
抽象クラスとは
抽象クラスとは、他のクラスに継承されることが前提としたクラスで、インスタンスを生成することができません。
また、抽象クラスは抽象メソッドを1つ以上持ち、データを継承しなければ使用できないクラスでもあります。
そして、抽象メソッドとはアクセス修飾子とメソッド名、引数のみを定義したメソッドの事を指し、メソッドでの処理内容は継承したクラスの中で定義されています。
抽象クラスのメリットは開発のルールを作ることができるという点です。
抽象クラスを継承した場合、必ず抽象メソッドを実装しなければならないものの、抽象クラスを使用することでメソッド名を統一できたり、処理の流れを統一することが可能です。
抽象クラスの書き方
抽象クラスは、以下の形式で記述しましょう。
abstract 抽象クラス名{ abstract アクセス修飾子 function 抽象メソッド(引数); }
アクセス修飾子はpublic, protectedで可能です。
また、抽象クラスには抽象メソッド以外の処理が記述されたメソッドを定義することも不可能ではありません。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
抽象クラスを使ったプログラムコードを見てみましょう。
プログラムソースコード
<?php abstract class SubUser { public $name = ""; abstract public function greeting(); } class JapaneseUser extends SubUser { function greeting() { echo "こんにちは。私の名前は" . $this->name . "です。"; } } class AmericanUser extends SubUser { function greeting() { echo "Hello! My name is " . $this->name , "."; } } $japanese = new JapaneseUser(); $japanese->name = "山田太郎"; $japanese->greeting(); echo " "; $american = new AmericanUser(); $american->name = "John"; $american->greeting(); ?>
実行結果
抽象クラスSubUserには抽象メソッドであるgreetingメソッドを記述しています。
また、SubUserを継承した二つのクラスにもgreetingメソッドの実際の処理が記述されている状態です。
以上、PHPにおける抽象クラスの記述方法について解説しました。
執筆してくれたメンター
メンターSさん
システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。 JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。 TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。 |
PHPの抽象クラスの書き方がよく分かったので良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので参加してみてください。