Bagaimana untuk mendapatkan warisan kelas PHP? (Perkongsian ringkasan)

WBOY
Lepaskan: 2023-04-10 18:20:01
asal
3399 orang telah melayarinya

Dalam artikel sebelum ini, saya membawakan anda "Mengajar anda cara membezakan pembina dan pemusnah dalam kelas", yang memberi anda secara terperinci cara menggunakannya dalam kelas PHP menggunakan pembina dan pemusnah , dalam artikel ini kita akan terus melihat pengetahuan berkaitan pewarisan kelas PHP. Saya harap ia akan membantu semua orang.

Bagaimana untuk mendapatkan warisan kelas PHP? (Perkongsian ringkasan)

Dalam PHP berorientasikan objek, kita boleh mewarisi kelas sedia ada melalui kelas yang diwarisi dipanggil kelas induk atau kelas asas ini dipanggil subkelas. Malah, subkelas boleh difahami sebagai lanjutan daripada kelas induk, dan subkelas boleh menambah fungsi baharu melebihi fungsi kelas induk. Subkelas juga boleh mewarisi pembina kelas induk Apabila subkelas dijadikan instantiated, PHP akan memanggil pembina dalam subkelas terlebih dahulu Apabila subkelas tidak wujud, ia akan memanggil pembina kelas induk.

<strong><span style="font-size: 20px;">extends</span></strong>Warisi kata kunci

Dalam PHP, kami menggunakan kata kunci extends untuk melaksanakan warisan kelas. Format sintaksnya adalah seperti berikut:

class 子类名 extends 父类名{
    ... ...
}
Salin selepas log masuk

Apa yang perlu kita ambil perhatian ialah kelas hanya boleh mewarisi daripada kelas lain, tetapi kelas boleh mewarisi berbilang kelas. Iaitu, subkelas hanya boleh mempunyai satu kelas induk, tetapi kelas induk boleh mempunyai berbilang subkelas.

Mewarisi public ahli

Dalam PHP, semua ahli kelas induk yang diubah suai dengan public boleh menjadi sub- Kelas diwarisi.

Seterusnya mari kita lihat contohnya adalah seperti berikut:

<?php
    class father{
        public $name, $url, $title;
        public function __construct(){
            echo &#39;基类中的构造函数<br>&#39;;
        }
        public function demo(){
            echo &#39;基类中的成员方法<br>&#39;;
        }
    }
    class son1 extends father{
    }
    class son2 extends father{
        public function __construct(){
            echo &#39;子类中的构造函数<br>&#39;;
        }
    }
    $object = new son1();
    $object -> demo();
    $object2 = new son2();
    $object2 -> demo();
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk mendapatkan warisan kelas PHP? (Perkongsian ringkasan)

Dalam contoh di atas, kelas asas ditakrifkan, kelas lain digunakan untuk mewarisi kelas asas ini, dan pada masa yang sama, percubaan dibuat untuk menggunakan subkelas untuk memanggil kaedah ahli dalam kelas asas. Akibatnya, semua ahli kelas induk yang diubah suai awam boleh diwarisi oleh subkelas.

Wariskan protected ahli

Seperti yang dinyatakan di atas, kami menyebut bahawa ahli yang diubah suai melalui warisan public boleh diwarisi oleh subkelas, dan terdapat satu lagi ahli protected, ahli yang diubah suai olehnya adalah ahli yang tidak mahu diakses dari luar kelas Ia boleh difahami bahawa dengan mengubah suai ahli ini, ia adalah ahli yang dilindungi, yang hanya boleh diakses di dalam kelas, dan juga boleh diakses di dalam subkelas yang diakses secara dalaman, kita boleh menetapkan fungsi ahli dalam subkelas untuk mengakses ahli ini.

Contohnya adalah seperti berikut:

<?php
    class father{
        public $name, $url, $title;
        public function __construct(){
            echo &#39;基类中的构造函数<br>&#39;;
        }
        protected function demo(){
            echo &#39;基类中的成员方法<br>&#39;;
        }
    }
    class son1 extends father{
    }
    class son2 extends father{
        public function __construct(){
            echo &#39;子类中的构造函数<br>&#39;;
        }
        public function test(){
            $this -> demo();
        }
    }
    $object = new son1();
    // $object -> demo();      // 在子类中调用父类使用 protected 修饰的成员方法会报错
    $object2 = new son2();
    $object2 -> test();
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk mendapatkan warisan kelas PHP? (Perkongsian ringkasan)

Daripada contoh di atas kita dapat melihat bahawa, Pembolehubah yang diubah suai oleh dilindungi juga boleh diakses dalam subkelas yang diwarisi.

Warisi<strong><span style="font-size: 20px;">private</span></strong>peribadi

ahli

private

Dalam kelas PHP, ahli -ahli yang diubahsuai oleh

tidak dapat diakses di luar kelas, dan tidak dapat diakses oleh subkelas. persendirian. Tepatnya, ahli yang diubah suai secara peribadi tidak diwarisi oleh subkelas, dan secara semula jadi tidak boleh diakses oleh subkelas.

<?php
    class father{
        private function demo(){
            echo &#39;基类中private的成员方法<br>&#39;;
        }
    }
    class son  extends father{
        public function test(){
            $this -> demo();
        }
    }
    $object = new son();
    $object -> test();
?>
Salin selepas log masuk

Contohnya adalah seperti berikut:

Hasil output adalah salah Apabila ahli diubah suai dengan kata kunci peribadi dalam kelas induk dipanggil dalam subkelas, atur cara akan melaporkan ralat dan menamatkan operasi.

Jika anda berminat, anda boleh klik pada "Tutorial Video PHP" untuk mengetahui lebih lanjut tentang pengetahuan PHP.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan warisan kelas PHP? (Perkongsian ringkasan). 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