PHP デザイン パターン コード再利用戦略

王林
リリース: 2024-05-07 13:45:01
オリジナル
731 人が閲覧しました

PHP コードの再利用戦略には次のものが含まれます。 継承: サブクラスは親クラスのプロパティとメソッドを継承します。構成: クラスには、他のクラスまたはオブジェクトのインスタンスが含まれます。抽象クラス: 部分的な実装を提供し、実装されるメソッドを定義します。インターフェイス: メソッドを定義します。メソッドを実装する必要はありません。

PHP 设计模式代码复用策略

PHP デザイン パターン: コード再利用戦略

はじめに

コード再利用の利用はソフトウェア開発における重要な原則であり、コードの重複を減らし、開発効率とコードの保守性を向上させることができます。 PHP はコードの再利用を実現するためのさまざまな戦略を提供しており、最も一般的に使用される戦略は次のとおりです。

  • #継承
  • Composition
  • 抽象クラス
  • インターフェイス
##実用的なケース: 動物クラス ライブラリの構築

これらの戦略を説明するために、動物クラス ライブラリの構築を例に挙げます。

継承

継承により、サブクラスが親クラスのプロパティとメソッドを継承できるようになります。たとえば、Animal クラスを継承する Mammal クラスを作成できます。

class Animal {
    protected $name;

    public function __construct($name) {
        $this->name = $name;
    }

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

class Mammal extends Animal {
    protected $numLegs;

    public function __construct($name, $numLegs) {
        parent::__construct($name);
        $this->numLegs = $numLegs;
    }

    public function getNumLegs() {
        return $this->numLegs;
    }
}
ログイン後にコピー

Composition

Composition を使用すると、クラスに他のクラスまたはオブジェクトのインスタンスを含めることができます。たとえば、動物クラスと話すインターフェイスを組み合わせて、話す動物クラスを作成できます。

interface Speakable {
    public function speak();
}

class TalkingAnimal {
    protected $animal;
    protected $speakable;

    public function __construct(Animal $animal, Speakable $speakable) {
        $this->animal = $animal;
        $this->speakable = $speakable;
    }

    public function speak() {
        $this->speakable->speak();
    }
}
ログイン後にコピー

抽象クラス

抽象クラスは部分的な実装のみを提供します。サブクラスが実装する必要があるメソッドを定義します。たとえば、一般的なメソッドを含む抽象動物クラスを作成し、特定のメソッドを実装するためにサブクラスを必要とすることができます。

abstract class AbstractAnimal {
    protected $name;

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

    abstract public function move();
}

class Dog extends AbstractAnimal {
    protected $numLegs;

    public function __construct($name, $numLegs) {
        $this->name = $name;
        $this->numLegs = $numLegs;
    }

    public function move() {
        echo "The dog runs on $this->numLegs legs.";
    }
}
ログイン後にコピー

Interface

Interface は一連のメソッドを定義しますが、実装する必要はありません。これにより、クラスはインターフェイスを実装することで特定の動作を提供できるようになります。たとえば、取り外し可能なインターフェイスを作成できます:

interface Movable {
    public function move();
}

class Dog implements Movable {
    // Implement the move method
}
ログイン後にコピー

以上がPHP デザイン パターン コード再利用戦略の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!