Rumah >pembangunan bahagian belakang >tutorial php >Analisis mendalam kelas dalam php

Analisis mendalam kelas dalam php

PHPz
PHPzasal
2023-03-21 14:52:504375semak imbas

PHP ialah bahasa pengaturcaraan popular di mana pengaturcaraan berorientasikan objek (OOP) merupakan salah satu ciri yang paling berkuasa. Kelas PHP ialah konsep teras dalam OOP, yang menyediakan mekanisme untuk merangkum data dan tingkah laku. Kelas ini memberikan kami kod boleh guna semula, mengurangkan lebihan kod dan meningkatkan kebolehselenggaraan kod. Artikel ini akan memperkenalkan penggunaan asas dan kepentingan Kelas PHP.

1. Konsep dan definisi Kelas PHP

Kelas PHP ialah mekanisme yang merangkum data dan tingkah laku. Definisi kelas boleh termasuk definisi pembolehubah dan fungsi, yang boleh kita anggap sebagai atribut kelas dan kaedah kelas. Dalam PHP, kami menggunakan kata kunci "kelas" untuk menentukan kelas.

Sebagai contoh, berikut ialah contoh kod yang mentakrifkan Kelas:

class Person {
   // 定义变量
   public $name;
   public $age;
 
   // 定义方法
   public function sayHello() {
      echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
   }
}

Dalam kod di atas, kami mentakrifkan Kelas bernama "Orang". Kelas ini mempunyai dua sifat: $name dan $age, dan satu kaedah: sayHello(). Kedua-dua hartanah ialah pengubah kawalan akses awam. Ini bermakna sifat ini boleh diakses di dalam atau di luar Kelas. $ini dirujuk dalam kaedah sayHello(), yang merupakan rujukan kendiri dan mewakili contoh semasa.

2. Penciptaan dan penggunaan Kelas PHP

Mencipta objek Kelas PHP boleh dicapai melalui kata kunci "baru". Selepas mencipta objek, kita boleh menggunakan kaedah dan sifatnya. Di bawah ialah contoh membuat instantiate Kelas Orang.

// 实例化一个Person对象
$person1 = new Person();
 
// 设置对象的属性
$person1->name = "John";
$person1->age = 20;
 
// 调用对象的方法
$person1->sayHello();

Dalam kod di atas, kami membuat instantiat objek $person1 dan kemudian menetapkan sifat $name dan $age. Akhir sekali, kami memanggil kaedah sayHello(), yang mengeluarkan nilai atribut $name dan $age.

Anda juga boleh menggunakan "baharu" sebelum takrifan Kelas untuk mencipta objek.

$person = new Person;

3 Warisan Kelas PHP

Kelas PHP boleh berkongsi sifat dan kaedah dengan Kelas lain melalui warisan. Subkelas (atau kelas terbitan) boleh menggunakan sifat dan kaedah kelas induk, atau mereka boleh menentukan sifat dan kaedah mereka sendiri.

// 定义Employee类,继承Person类
class Employee extends Person {
   public $position;
 
   public function jobPosition() {
      echo "I am a/an " . $this->position;
   }
}

Dalam kod di atas, kami telah mentakrifkan Kelas bernama "Pekerja" yang melanjutkan Kelas "Orang". Kelas Pekerja mempunyai harta $posisi baharu dan kaedah baharu jobPosition(). Dalam kaedah jobPosition(), $this->position merujuk kepada sifat $position subclass.

4. Keterlihatan Kelas PHP

Sifat dan kaedah Kelas PHP boleh ditakrifkan sebagai: Awam, Dilindungi dan Persendirian ).

Ahli awam boleh diakses dari mana-mana sahaja, di dalam dan di luar Kelas.

Ahli yang dilindungi boleh diakses di dalam Kelas dan dalam subkelas. Ahli yang dilindungi tidak boleh diakses dari luar.

Ahli persendirian hanya boleh diakses dalam Kelas.

Kata kunci "awam", "dilindungi" dan "peribadi" digunakan untuk mentakrifkan pengubah keterlihatan untuk sifat dan kaedah.

Sebagai contoh, berikut ialah contoh mentakrifkan harta Dilindungi "bankAccount":

class Person {
   protected $bankAccount;
 
   public function getBankAccount() {
      return $this->bankAccount;
   }
}

Dalam kod di atas, harta $bankAccount ditakrifkan sebagai dilindungi, bermakna ia hanya boleh Diakses daripada subkelas Person Class dan Person. Kaedah awam "getBankAccount()" boleh memanggil harta ini dari mana-mana sahaja. Kita boleh mengakses nilai harta $bankAccount dengan memanggil kaedah getBankAccount().

5. Lebih memuatkan Kelas PHP

Kelas PHP menyediakan mekanisme untuk melebihkan sifat akses dan kaedah, membolehkan program mengakses objek secara dinamik mengikut keperluan khususnya dan kaedah.

1. Lebihan atribut

Lebih muatan atribut dicapai dengan melebihkan kaedah ajaib __get() dan __set(). Seperti yang ditunjukkan di bawah:

class Person {
   private $data = array();
 
   public function __get($name) {
      if (isset($this->data[$name])) {
         return $this->data[$name];
      } else {
         return null;
      }
   }
 
   public function __set($name, $value) {
      $this->data[$name] = $value;
   }
}

Dalam kod di atas, Orang Kelas mengandungi $data harta peribadi. Satu-satunya cara untuk mengakses tatasusunan $data ialah melalui kaedah ajaib __get() dan __set().

Apabila kod cuba mengakses harta yang tidak wujud, kaedah __get() dipanggil. Mengembalikan atribut ini jika ia wujud, jika tidak mengembalikan null. Apabila cuba menetapkan harta yang tidak wujud, kaedah __set() dipanggil untuk menyimpan nilainya.

2. Kaedah terlebih muatan

Kaedah terlebih muatan dicapai dengan melebihkan kaedah ajaib __call(). Seperti yang ditunjukkan di bawah:

class Person {
   public function __call($name, $arguments) {
      echo "The method $name does not exist.";
   }
}

Dalam kod di atas, jika kita cuba memanggil kaedah yang tidak wujud, __call() akan dipanggil.

6. Kepentingan Kelas PHP

Kelas PHP memberikan banyak faedah, terutamanya dalam pengaturcaraan berorientasikan objek.

1. Penggunaan semula kod: Kelas menyediakan kod yang boleh digunakan semula. Dalam pengaturcaraan, pembangunan modular boleh dicapai dengan melanjutkan dan melaksanakan Kelas, dengan itu meningkatkan kebolehgunaan semula kod.

2 Kebolehselenggaraan: Melalui penggunaan Kelas, kita boleh memisahkan kod kepada objek atau sifat tertentu, yang meningkatkan kebolehselenggaraan kod dan menjadikan kod lebih mudah dibaca.

3. Enkapsulasi: Kelas menyediakan abstraksi, enkapsulasi dan perlindungan data dan kaedah. Enkapsulasi jenis ini menghalang operasi di dalam objek daripada mengganggu bahagian lain program, dan pada masa yang sama menyediakan abstraksi kod yang diperlukan untuk pengaturcaraan berorientasikan objek.

4. Fleksibiliti: Melalui gabungan dan warisan Kelas, keperluan perniagaan yang pelbagai boleh dicapai, meningkatkan fleksibiliti dan skalabiliti program.

Ringkasan

Kelas PHP menyediakan salah satu mekanisme penting dalam pengaturcaraan OOP. Ia memberikan kita mekanisme untuk merangkum data dan tingkah laku. Kita boleh mencipta objek dan menggunakan sifat dan kaedah dalaman atau luarannya, mencapai penggunaan semula kod, kebolehselenggaraan, enkapsulasi dan fleksibiliti. Melalui pewarisan dan lebihan beban, kami boleh mewujudkan tahap pengabstrakan yang lebih tinggi, meningkatkan modulariti program dan menyediakan pengaturcaraan dengan pengabstrakan kod yang lebih baik.

Atas ialah kandungan terperinci Analisis mendalam kelas dalam 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