Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: pewarisan sifat dan kaedah objek

Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: pewarisan sifat dan kaedah objek

王林
王林asal
2024-06-05 16:34:01325semak imbas

Pewarisan sifat dan kaedah dalam pengaturcaraan berorientasikan objek PHP: Subkelas mewarisi sifat bukan peribadi kelas induk, yang boleh diubah suai melalui kata kunci induk. Subkelas mewarisi kaedah bukan persendirian kelas induk dan boleh ditindih melalui penggantian. PHP menyokong pewarisan berbilang peringkat, tetapi kaedah dengan nama yang sama hanya mewarisi kaedah salah satu kelas induk.

Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: pewarisan sifat dan kaedah objek

Pemahaman mendalam tentang pengaturcaraan berorientasikan objek dalam PHP: Pewarisan sifat dan kaedah objek

Dalam PHP, pewarisan sifat dan kaedah objek ialah konsep utama pengaturcaraan berorientasikan objek. Ia membenarkan subkelas untuk mengakses dan mengubah suai sifat dan kaedah kelas induknya.

Warisan harta

Apabila kelas anak mewarisi daripada kelas induk, kelas anak akan secara automatik mewarisi semua harta bukan persendirian kelas induk. Subkelas boleh menggunakan sifat ini tetapi tidak boleh mengubah suainya secara langsung. Untuk mengubah suai sifat kelas induk, kelas anak mesti menggunakan kata kunci parent::. Contohnya: parent:: 关键字。例如:

class ParentClass {
    protected $name = 'Parent';
}

class ChildClass extends ParentClass {
    public function getName() {
        return parent::$name;
    }
}

$child = new ChildClass();
echo $child->getName(); // Output: Parent
$child->name = 'Child'; // Error: Cannot modify inherited property directly

方法继承

子类还继承父类的所有非私有方法。子类可以使用这些方法,也可以使用 override 关键字重新定义父类中的方法。例如:

class ParentClass {
    public function sayHello() {
        echo 'Hello from Parent!';
    }
}

class ChildClass extends ParentClass {
    public function sayHello() {
        parent::sayHello(); // Call the parent method
        echo 'Hello from Child!';
    }
}

$child = new ChildClass();
$child->sayHello(); // Output: Hello from Parent! Hello from Child!

多级继承

PHP 支持多级继承,这意味着一个子类可以从多个父类继承。在这种情况下,子类将继承所有父类的属性和方法。但是,如果多个父类定义了具有相同名称的方法,子类将只继承其中一个父类的方法。要访问另一个父类的方法,子类必须使用 parent:: 关键字。

实战案例:

图书管理系统

考虑一个图书管理系统,其中有 BookEBook

class Book {
    private $title;
    private $author;

🎜Pewarisan kaedah🎜🎜🎜Subkelas juga mewarisi semua kaedah bukan persendirian kelas induk. Subkelas boleh menggunakan kaedah ini atau mereka boleh menggunakan kata kunci override untuk mentakrifkan semula kaedah dalam kelas induk. Contohnya: 🎜rrreee🎜🎜Warisan berbilang peringkat🎜🎜🎜PHP menyokong warisan berbilang peringkat, yang bermaksud kelas anak boleh mewarisi daripada berbilang kelas induk. Dalam kes ini, kelas anak akan mewarisi semua sifat dan kaedah kelas induk. Walau bagaimanapun, jika berbilang kelas induk mentakrifkan kaedah dengan nama yang sama, kelas anak hanya akan mewarisi kaedah daripada salah satu kelas induk. Untuk mengakses kaedah kelas induk lain, subkelas mesti menggunakan kata kunci parent::. 🎜🎜🎜Kes praktikal: 🎜🎜🎜🎜Sistem pengurusan buku🎜🎜🎜Pertimbangkan sistem pengurusan buku dengan kelas Book dan EBook: 🎜rrreee

Atas ialah kandungan terperinci Pemahaman mendalam tentang pengaturcaraan berorientasikan objek PHP: pewarisan sifat dan kaedah objek. 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