Bagaimana untuk menukar kelas induk php kepada subkelas

PHPz
Lepaskan: 2023-04-21 10:29:54
asal
1001 orang telah melayarinya

Dalam proses pengaturcaraan berorientasikan objek, pewarisan kelas adalah konsep yang sangat penting. Warisan membolehkan penggunaan semula kod, menjimatkan masa dan tenaga pengaturcara. Walau bagaimanapun, selalunya terdapat situasi di mana anda perlu menggunakan kelas induk sedia ada, tetapi juga menambah atau menukar beberapa kaedah dan atribut unik subkelas tersebut. Pada masa ini, keperluan untuk "kelas rotor kelas induk" muncul dengan segera. Artikel ini akan meneroka cara menukar kelas induk Php kepada subkelas.

Mengapa kelas rotor kelas induk Php

Dalam proses pengaturcaraan, kita sering mendapati bahawa kelas tertentu sangat sesuai untuk keperluan kita, tetapi kelas ini kekurangan beberapa kaedah dan atribut yang kita perlukan . Jika kami mengubah suai kelas induk asal secara langsung, kelas kami yang diubah suai akan menjadi kelas baharu. Oleh itu, kita tidak dapat tidak perlu mencipta subkelas baharu dan mewarisi kebanyakan sifat dan kaedahnya daripada kelas induk sedia ada. Dalam kes ini, keperluan "kelas ibu bapa kepada kelas kanak-kanak" akan muncul.

Cara melaksanakan kelas rotor kelas induk Php

Pelaksanaan kelas rotor kelas induk Php boleh menggunakan kata kunci yang dipanggil extends. Kata kunci extends dalam Php digunakan untuk melaksanakan pewarisan Penggunaannya adalah seperti berikut:

class ChildClass extends ParentClass {
  //子类的属性和方法
}
Salin selepas log masuk

Melalui kata kunci extends, kami boleh mewarisi kebanyakan kaedah dan sifat kelas induk ke dalam subkelas kami masa yang sama, tambahkan kaedah dan sifat baharu yang kami perlukan dalam ChildClass.

Sebenarnya, kaedah ini melaksanakan perhubungan warisan, bukannya penukaran "kelas ibu bapa kepada kelas anak" sebenar. Oleh itu, kita perlu memberi perhatian kepada perkara berikut:

  1. Subkelas mesti mengandungi pembina kelas induk
    Warisan yang dilaksanakan melalui lanjutan, subkelas mesti mengandungi pembina kelas induk. Dalam Php, subkelas secara automatik mewarisi pembina kelas induk, jadi kita tidak perlu mengisytiharkan pembina yang sama secara eksplisit dalam subkelas.
  2. Subkelas mesti memanggil pembina kelas induk
    Untuk memastikan ahli dalam kelas induk boleh dimulakan secara normal, subkelas mesti memanggil pembina kelas induk yang sepadan dalam pembina. Ini adalah masalah biasa di banyak perpustakaan.

Berikut ialah contoh mudah yang menggambarkan cara menukar kelas induk Php kepada subkelas:

class MyBaseClass {
  private $myBaseVar;
  
  public function __construct(){
    echo "Construction of Base class\n";
    $this->myBaseVar = "Initial value";
  }
  
  public function getMyBaseVar() {
    return $this->myBaseVar;
  }
}

class MySubClass extends MyBaseClass {
  private $mySubVar;
  
  public function __construct(){
    echo "Construction of Sub class\n";
    parent::__construct();
    $this->mySubVar = "Another value";
  }
  
  public function getMySubVar() {
    return $this->mySubVar;
  }
}

$obj = new MySubClass();
echo $obj->getMyBaseVar() . "\n";
echo $obj->getMySubVar() . "\n";
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan kelas yang dipanggil Kelas asas MyBaseClass , yang mempunyai pembolehubah ahli persendirian bernama myBaseVar. Untuk mendapatkan nilai pembolehubah myBaseVar, kami melaksanakan fungsi ahli getMyBaseVar().

Kemudian kami mentakrifkan kelas yang dipanggil MySubClass, yang mewarisi daripada MyBaseClass. Untuk memenuhi keperluan pembina MyBaseClass, kami menggunakan parent::__construct() dalam pembina untuk memanggil pembina secara eksplisit dalam MyBaseClass. Begitu juga, kami juga menambah pembolehubah ahli persendirian bernama mySubVar dan melaksanakan fungsi ahli getMySubVar().

Akhirnya kami mencipta contoh MySubClass bernama $obj dan menguji kesan dua fungsi ahli getMyBaseVar() dan getMySubVar(). Outputnya adalah seperti berikut:

Construction of Sub class
Construction of Base class
Initial value
Another value
Salin selepas log masuk

Seperti yang dapat dilihat daripada output, pembina kelas induk berjaya dipanggil, dan subkelas bukan sahaja memperoleh sifat pembolehubah myBaseVar kelas induk, tetapi juga menambah pembolehubah bernama Harta peribadi mySubVar.

Kesimpulan

Apabila kita perlu melanjutkan kelas sedia ada, kita boleh mencipta subkelas yang mewarisi kelas induk. Melalui pewarisan, subkelas boleh memperoleh kebanyakan sifat dan kaedah kelas induk, dan kita juga boleh menambah sifat dan kaedah baharu pada subkelas. Dengan menggunakan parent::__construct() dalam pembina, kita boleh memastikan bahawa pembina dalam kelas induk berjaya dipanggil, dengan itu memastikan ahli dalam kelas induk boleh dimulakan secara normal. Di atas adalah kaedah pelaksanaan kelas rotor kelas induk Php Saya harap ia akan membantu pelajar pengaturcaraan Php.

Atas ialah kandungan terperinci Bagaimana untuk menukar kelas induk php kepada subkelas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!