Rumah >pembangunan bahagian belakang >tutorial php >Analisis pengetahuan asas pengaturcaraan berorientasikan objek PHP

Analisis pengetahuan asas pengaturcaraan berorientasikan objek PHP

WBOY
WBOYasal
2023-08-11 14:10:471118semak imbas

Analisis pengetahuan asas pengaturcaraan berorientasikan objek PHP

Analisis pengetahuan asas pengaturcaraan berorientasikan objek PHP

Pengenalan:
Pengaturcaraan berorientasikan objek (Pengaturcaraan Berorientasikan Objek, dirujuk sebagai OOP) ialah metodologi pembangunan program, yang mengabstrak perkara di dunia sebenar kepada objek dan kegunaan mereka kepada Interaksi dan perkongsian maklumat sesama mereka bagi melengkapkan fungsi program. PHP ialah bahasa pengaturcaraan berkuasa yang digunakan secara meluas dalam pembangunan web Menggunakan pendekatan berorientasikan objek dalam PHP boleh meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Artikel ini akan memperkenalkan asas pengaturcaraan berorientasikan objek dalam PHP dan menggambarkannya dengan contoh kod.

1. Kelas dan Objek
Dalam pengaturcaraan berorientasikan objek, kelas ialah templat objek, menerangkan sifat dan kaedah yang sepatutnya ada pada objek. Objek ialah contoh kelas dan boleh dibuat menggunakan pengendali baharu. Berikut ialah contoh kod mudah kelas dan objek:

class Car {
    public $brand;
    public $color;
    
    public function startEngine() {
        echo "启动引擎。";
    }
    
    public function honk() {
        echo "按喇叭。";
    }
}

$myCar = new Car();
$myCar->brand = "BMW";
$myCar->color = "红色";

$myCar->startEngine();  // 输出:启动引擎。
$myCar->honk();         // 输出:按喇叭。

Dalam kod di atas, kami mentakrifkan kelas bernama Kereta, yang mempunyai dua atribut, jenama dan warna serta dua kaedah: startEngine() dan honk() . Dengan menggunakan pengendali baharu, objek contoh $myCar bagi kelas Kereta dicipta dan sifatnya diberikan nilai. Akhirnya, output fungsi yang sepadan boleh dicapai dengan memanggil kaedah objek.

2. Kaedah pembina dan pemusnah
Pembina ialah kaedah yang dipanggil secara automatik semasa mencipta objek. Fungsinya adalah untuk memulakan objek. Dalam PHP, nama kaedah pembina sentiasa __construct(), dan anda boleh menentukan parameter kaedah seperti yang diperlukan.

Destructor ialah kaedah yang dipanggil secara automatik apabila sesuatu objek dimusnahkan. Peranannya adalah untuk melaksanakan operasi pelepasan sumber yang diperlukan. Nama kaedah pemusnah sentiasa __destruct().

Berikut ialah kod sampel yang mengandungi pembina dan pemusnah:

class Dog {
    public $name;
    
    public function __construct($name) {
        echo "创建了一只名叫" . $name . "的狗。";
        $this->name = $name;
    }
    
    public function __destruct() {
        echo "销毁了" . $this->name . "。";
    }
}

$myDog = new Dog("旺财");  // 输出:创建了一只名叫旺财的狗。
unset($myDog);            // 输出:销毁了旺财。

Dalam kod di atas, kami mentakrifkan kelas Anjing dan mengeluarkan mesej segera untuk mencipta objek dalam pembina. Selepas mencipta objek, kami menggunakan fungsi unset() untuk memusnahkan objek, yang secara automatik akan memanggil kaedah pemusnah dan mengeluarkan mesej segera untuk memusnahkan objek.

3. Kawalan akses
Melalui kawalan akses, kami boleh merangkum atribut dan kaedah kelas untuk mencapai penyembunyian dan perlindungan data. Kata kunci yang digunakan untuk melaksanakan kawalan akses dalam PHP adalah awam, dilindungi dan peribadi.

  • Harta dan kaedah awam boleh diakses oleh sesiapa sahaja tanpa sekatan akses.
  • Harta dan kaedah yang dilindungi hanya boleh diakses di dalam kelas dan subkelas.
  • Harta dan kaedah persendirian hanya boleh diakses di dalam kelas.

Berikut ialah contoh kod:

class Person {
    public $name;             // 公有属性
    protected $age;           // 受保护的属性
    private $gender;          // 私有属性
    
    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
    
    public function getInfo() {
        echo "姓名:" . $this->name . ",年龄:" . $this->age . ",性别:" . $this->gender;
    }
}

$person = new Person("张三", 25, "男");
echo $person->name;             // 输出:张三
echo $person->age;              // 报错,无法访问受保护的属性
echo $person->gender;           // 报错,无法访问私有属性
$person->getInfo();             // 输出:姓名:张三,年龄:25,性别:男

Dalam kod di atas, kami mentakrifkan kelas Orang, di mana nama ialah atribut awam dan boleh diakses terus umur ialah atribut yang dilindungi dan hanya boleh diakses dalam kelas dan subkelas; Jantina ialah atribut peribadi dan hanya boleh diakses dalam kelas. Selepas mencipta objek, kami boleh mengakses atribut nama secara langsung, tetapi tidak boleh mengakses atribut umur dan jantina. Kami kemudiannya secara tidak langsung boleh mengakses nilai harta yang dilindungi dan peribadi dengan memanggil kaedah getInfo().

Kesimpulan:
Artikel ini memperkenalkan pengetahuan asas pengaturcaraan berorientasikan objek PHP, termasuk konsep kelas dan objek, penggunaan pembina dan pemusnah, dan kandungan berkaitan kawalan akses. Dengan mempelajari dan memahami pengetahuan asas ini, kami boleh menggunakan pendekatan berorientasikan objek dengan lebih baik untuk membangunkan program PHP dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Dalam aplikasi praktikal, kami juga boleh mempelajari teknik pengaturcaraan berorientasikan objek yang lebih maju, seperti warisan, polimorfisme, antara muka, dsb., untuk menambah baik program kami.

Bahan rujukan:

  • Dokumentasi rasmi PHP: http://php.net/
  • Tutorial PHP W3School: https://www.w3schools.com/php/

Atas ialah kandungan terperinci Analisis pengetahuan asas pengaturcaraan berorientasikan objek 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