継承
継承を使ってコードを再利用し、機能を拡張します
「継承」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全5レッスンが含まれています。
PHPの継承
PHPの継承
次のレッスンへようこそ!このレッスンでは、クラスの機能を拡張できる、オブジェクト指向プログラミング(OOP)の中核概念である継承について学びます。それでは始めましょう!

継承とは
継承とは
継承は、あるクラス(子クラス)が別のクラス(親クラス)からプロパティやメソッドを引き継ぐことを可能にする、OOPの仕組みです。これにより、プログラミングにおけるコードの再利用と階層構造が促進されます。
例:Carクラスを、SedanクラスとSUVクラスの親クラスとして使用できます。
継承の定義
継承の定義
親クラスから継承する子クラスを作成するには、extendsキーワードを使用します。例:
ヒント:コードの重複を避けるには、継承を使用します。
<h2>Defining Inheritance</h2>
<p>Use the <code>extends</code> keyword to create a child class that inherits from a parent class. Example:</p>
メソッドのオーバーライド
メソッドのオーバーライド
子クラスは親クラスのメソッドをオーバーライドして、固有の機能を提供できます。例:
<?php
class Vehicle {
public function drive() {
echo "Driving a generic vehicle.";
}
}
class Car extends Vehicle {
public function drive() {
echo "Driving a car.";
}
}
$car = new Car();
$car->drive(); // Outputs: Driving a car.
?>
<code>parent</code>キーワード
parentキーワード
オーバーライドしたメソッド内で親クラスのメソッドを呼び出すには、parentキーワードを使用します。例:
<?php
class Vehicle {
public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
public function start() {
parent::start();
echo " Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the vehicle. Starting the car engine.
?>
継承の利点
継承の利点
継承には、次のような利点があります:
- コードの再利用を促進します。
- 明確なクラス階層を構築できます。
- 子クラスによるメソッドのオーバーライドを可能にし、ポリモーフィズムを実現します。
protectedメンバー
protectedメンバー
継承はprotectedメンバーにも適用されます。protectedプロパティとメソッドは子クラスからアクセスできますが、クラス階層の外部からはアクセスできません。例:
重要:親クラスと子クラスの間でメンバーを安全に共有するには、protectedを使用します。
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
抽象クラス
抽象クラス
抽象クラスは子クラスの基盤となる構造を提供しますが、抽象クラス自体をインスタンス化することはできません。例:
重要:子クラスで特定のメソッドの実装を必須にしたい場合は、抽象クラスを使用します。
<?php
abstract class Vehicle {
abstract public function start();
}
class Car extends Vehicle {
public function start() {
echo "Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the car engine.
?>
finalキーワード
finalキーワード
finalキーワードは、それ以降の継承やオーバーライドを防ぎます。例:
ヒント:メソッドやクラスが拡張されるのを防ぐには、finalを使用します。
<?php
class Vehicle {
final public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
// Cannot override the start method
}
?>
よくできました!
よくできました!
おめでとうございます!PHPでクラスを拡張し、メソッドをオーバーライドし、抽象クラスを使用する方法など、継承について学びました。次のレッスンでは、カプセル化とアクセス修飾子について学びます。引き続きコーディングしましょう!

よくある質問
「継承」レッスンは無料ですか?
はい。「継承」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全5レッスンが含まれています。
「継承」で何を学びますか?
継承を使ってコードを再利用し、機能を拡張します ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/5です。
「継承」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。