0Pricing
PHP Academy · レッスン

継承

継承を使ってコードを再利用し、機能を拡張します

「継承」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全5レッスンが含まれています。

PHPの継承

PHPの継承

次のレッスンへようこそ!このレッスンでは、クラスの機能を拡張できる、オブジェクト指向プログラミング(OOP)の中核概念である継承について学びます。それでは始めましょう!

継承 — イラスト1

継承とは

継承とは

継承は、あるクラス(子クラス)が別のクラス(親クラス)からプロパティやメソッドを引き継ぐことを可能にする、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でクラスを拡張し、メソッドをオーバーライドし、抽象クラスを使用する方法など、継承について学びました。次のレッスンでは、カプセル化とアクセス修飾子について学びます。引き続きコーディングしましょう!

継承 — イラスト11

よくある質問

「継承」レッスンは無料ですか?

はい。「継承」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. PHPでオブジェクト指向プログラミング入門
  2. クラスとオブジェクトを定義する
  3. 継承
  4. カプセル化とアクセス修飾子
  5. ポリモーフィズム
← PHP Academyに戻る