Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Strategi penggunaan semula kod corak reka bentuk PHP

Strategi penggunaan semula kod corak reka bentuk PHP

王林
王林asal
2024-05-07 13:45:01731semak imbas

Strategi penggunaan semula kod PHP termasuk: Warisan: Subkelas mewarisi sifat dan kaedah kelas induk. Komposisi: Kelas mengandungi contoh kelas atau objek lain. Kelas abstrak: Menyediakan pelaksanaan separa dan mentakrifkan kaedah untuk dilaksanakan. Antara muka: mentakrifkan kaedah, tidak perlu melaksanakannya.

PHP 设计模式代码复用策略

Corak Reka Bentuk PHP: Strategi Penggunaan Semula Kod

Pengenalan

Penggunaan semula kod ialah prinsip penting dalam pembangunan perisian, yang boleh mengurangkan jumlah pertindihan kod, meningkatkan kecekapan pembangunan dan mengekalkan kebolehkodan PHP menyediakan pelbagai strategi untuk mencapai penggunaan semula kod, yang paling biasa digunakan termasuk:

  • Warisan
  • Komposisi
  • Abstrak kelas
  • Praktikal

kes: Bangunan an Perpustakaan Kelas haiwan

Untuk menggambarkan strategi ini, mari kita bina perpustakaan kelas haiwan sebagai contoh.

Warisan

Warisan membolehkan subkelas mewarisi sifat dan kaedah kelas induk. Sebagai contoh, kita boleh mencipta kelas Mamalia, mewarisi daripada kelas Haiwan:

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;
    }
}

Komposisi

Komposisi membenarkan kelas mengandungi kejadian kelas atau objek lain. Sebagai contoh, kita boleh mencipta kelas haiwan bercakap dengan menggabungkan kelas haiwan dan antara muka bercakap:

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();
    }
}

Kelas abstrak

Kelas abstrak hanya menyediakan pelaksanaan separa dan menentukan kaedah yang mesti dilaksanakan oleh subkelas. Sebagai contoh, kita boleh mencipta kelas haiwan abstrak yang mengandungi kaedah biasa dan memerlukan subkelas untuk melaksanakan kaedah tertentu:

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.";
    }
}

Antaramuka

Antara muka mentakrifkan satu set kaedah, tetapi tidak memerlukan pelaksanaan. Ini membolehkan kelas menyediakan tingkah laku khusus dengan melaksanakan antara muka. Sebagai contoh, kita boleh mencipta antara muka boleh tanggal:

interface Movable {
    public function move();
}

class Dog implements Movable {
    // Implement the move method
}

Atas ialah kandungan terperinci Strategi penggunaan semula kod corak reka bentuk PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn