Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: lanjutan dan penyesuaian pengaturcaraan berorientasikan objek

王林
Lepaskan: 2024-06-04 11:26:04
asal
247 orang telah melayarinya

Pengaturcaraan berorientasikan objek PHP boleh dilanjutkan melalui sambungan dan kelas tersuai. Kelas lanjutan mewarisi sifat dan kaedah kelas induk dan boleh menambah sifat dan kaedah baharu; kelas tersuai melaksanakan fungsi tertentu dengan melaksanakan kaedah antara muka. Dalam kes sebenar, dengan memanjangkan kelas abstrak Bentuk, bentuk konkrit seperti Bulatan dan Segiempat tepat dicipta, dan kawasan boleh dikira secara dinamik.

Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: lanjutan dan penyesuaian pengaturcaraan berorientasikan objek

Pengaturcaraan Berorientasikan Objek PHP: Sambungan dan Penyesuaian

pengaturcaraan berorientasikan objek (OOP) membolehkan anda mencipta kod yang boleh digunakan semula dan boleh diselenggara. Dalam PHP, OOP boleh diperluaskan lagi dengan melanjutkan dan menyesuaikan kelas sedia ada.

Kelas lanjutan

Gunakan kata kunci lanjutkan untuk melanjutkan kelas. Kelas lanjutan mewarisi semua sifat dan kaedah kelas induk dan boleh menambah sifat dan kaedah baharu. extends 关键字可以扩展一个类。扩展后的类继承父类的所有属性和方法,并可以添加新属性和方法。

class BaseClass {
    protected $name;

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

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

class ExtendedClass extends BaseClass {
    private $age;

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

    public function getAge() {
        return $this->age;
    }
}
Salin selepas log masuk

定制类

使用 implements 关键字可以定制一个类,让它实现一个或多个接口。接口定义了一组方法,该类必须实现这些方法。

interface MyInterface {
    public function doSomething();
}

class MyClass implements MyInterface {
    public function doSomething() {
        // 具体实现
    }
}
Salin selepas log masuk

实战案例

考虑一个抽象类 Shape,它定义了一个 getArea() 方法。我们扩展此类以创建具体形状,例如 CircleRectangle

abstract class Shape {
    protected $color;

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

    abstract public function getArea();
}

class Circle extends Shape {
    private $radius;

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

    public function getArea() {
        return pi() * $this->radius ** 2;
    }
}

class Rectangle extends Shape {
    private $width;
    private $height;

    public function __construct($color, $width, $height) {
        parent::__construct($color);
        $this->width = $width;
        $this->height = $height;
    }

    public function getArea() {
        return $this->width * $this->height;
    }
}
Salin selepas log masuk

我们可以创建 CircleRectangle 对象并访问它们各自的 getArea()rrreee

🎜Kelas tersuai🎜🎜🎜Gunakan kata kunci implements untuk menyesuaikan kelas supaya ia melaksanakan satu atau lebih antara muka. Antara muka mentakrifkan satu set kaedah yang mesti dilaksanakan oleh kelas. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Pertimbangkan kelas abstrak Bentuk, yang mentakrifkan kaedah getArea(). Kami memperluaskan kelas ini untuk mencipta bentuk konkrit seperti Bulatan dan Rectangle. 🎜rrreee🎜Kami boleh mengira kawasan secara dinamik dengan mencipta objek Bulatan dan Rectangle dan mengakses kaedah getArea() masing-masing. 🎜

Atas ialah kandungan terperinci Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: lanjutan dan penyesuaian pengaturcaraan berorientasikan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!