Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pelajari pengaturcaraan berorientasikan objek PHP langkah demi langkah

Pelajari pengaturcaraan berorientasikan objek PHP langkah demi langkah

PHPz
PHPzasal
2023-05-28 17:31:361441semak imbas

PHP ialah bahasa yang sangat popular yang sangat sesuai untuk pembangunan web, dan pengaturcaraan berorientasikan objek ialah paradigma pengaturcaraan yang berkuasa yang boleh menjadikan kod lebih boleh digunakan semula dan diselenggara. Oleh itu, adalah sangat penting untuk mempelajari pengaturcaraan berorientasikan objek PHP.

Dalam artikel ini, kami akan mempelajari secara beransur-ansur pengetahuan dan amalan asas pengaturcaraan berorientasikan objek dalam PHP, termasuk konsep seperti kelas, objek, sifat, kaedah, enkapsulasi, pewarisan dan polimorfisme.

  1. Kelas dan Objek

Dalam pengaturcaraan berorientasikan objek PHP, kelas ialah templat yang mentakrifkan jenis data dan kaedah berkaitan Ia menerangkan sifat dan sifat objek Kelakuan. Kelas boleh mempunyai berbilang objek, dan setiap objek ialah contoh kelas ini. Sintaks kelas

adalah seperti berikut:

class MyClass {
    // 属性
    public $myProperty;

    // 方法
    public function myMethod() {
        // ...
    }
}

Dalam contoh di atas, kami telah mentakrifkan kelas bernama MyClass yang mempunyai harta awam bernama myProperty dan harta awam bernama kaedah myMethod.

Untuk mencipta objek, kita boleh menggunakan operator baharu, seperti yang ditunjukkan di bawah:

$obj = new MyClass();

Pada masa ini, $obj ialah instance MyClass.

  1. Sifat dan Kaedah

Atribut dalam kelas ialah pembolehubah yang digunakan untuk menerangkan objek. Nilai harta boleh diubah suai atau dibaca. Kaedah dalam kelas

digunakan untuk menerangkan kelakuan objek. Nilai harta boleh dikira, dikeluarkan atau diubah suai dalam kaedah.

Apabila mentakrifkan sifat dan kaedah dalam kelas, anda perlu menentukan keterlihatannya, termasuk awam, dilindungi dan peribadi. Sifat dan kaedah awam boleh diakses di luar kelas, manakala sifat dan kaedah yang dilindungi dan persendirian hanya boleh diakses di dalam kelas atau dalam kelas terbitan.

class MyClass {
    // 公共属性
    public $myPublicProperty;

    // 受保护属性
    protected $myProtectedProperty;

    // 私有属性
    private $myPrivateProperty;

    // 公共方法
    public function myPublicMethod() {
        // ...
    }

    // 受保护方法
    protected function myProtectedMethod() {
        // ...
    }

    // 私有方法
    private function myPrivateMethod() {
        // ...
    }
}

Dalam contoh di atas, kami telah mentakrifkan kelas bernama MyClass yang mempunyai harta awam bernama myPublicProperty, harta dilindungi bernama myProtectedProperty dan harta persendirian bernama myPrivateProperty. Selain itu, ia mempunyai kaedah awam bernama myPublicMethod, kaedah dilindungi bernama myProtectedMethod dan kaedah peribadi bernama myPrivateMethod.

  1. Encapsulation

Encapsulation ialah konsep penting dalam pengaturcaraan berorientasikan objek. Ia merujuk kepada menyembunyikan sifat dan kaedah dan mendedahkan hanya antara muka yang diperlukan untuk melindungi objek daripada pengubahsuaian yang tidak disengajakan. Cara ia dirangkumkan bergantung pada hak akses hartanah dan kaedah, termasuk awam, dilindungi dan peribadi.

Berikut ialah contoh terkapsul:

class Person {
    private $age;

    public function __construct($age) {
        $this->setAge($age);
    }

    public function getAge() {
        return $this->age;
    }

    public function setAge($age) {
        if ($age >= 0 && $age <= 120) {
            $this->age = $age;
        } else {
            throw new Exception('Invalid age.');
        }
    }
}

Dalam contoh di atas, kami mentakrifkan kelas bernama Person, yang mempunyai harta persendirian bernama umur dan harta persendirian bernama getAge public method dan public kaedah bernama setAge. Kaedah setAge mengesahkan harta umur untuk memastikan ia tidak keluar dari skop.

  1. Warisan

Warisan ialah mekanisme yang mana satu kelas mewarisi sifat dan kaedah daripada kelas lain. Melalui warisan, subkelas boleh menggunakan semula kod kelas induk dan juga melaksanakan fungsi khusus mereka sendiri.

Berikut ialah contoh warisan:

class Animal {
    public function speak() {
        echo 'Animal speaks.';
    }
}

class Cat extends Animal {
    public function speak() {
        echo 'Cat meows.';
    }
}

$cat = new Cat();
$cat->speak(); // 输出"Cat meows."

Dalam contoh di atas, kami telah mentakrifkan kelas bernama Haiwan yang mempunyai kaedah awam bernama bercakap. Kami juga mentakrifkan kelas yang dipanggil Cat, yang mewarisi kelas Haiwan dan mengatasi kaedah bercakap untuk mengeluarkan bunyinya sendiri.

  1. Polymorphism

Polymorphism ialah konsep asas pengaturcaraan berorientasikan objek, yang bermaksud kaedah yang sama boleh mempunyai gelagat yang berbeza pada objek yang berbeza. Polimorfisme boleh meningkatkan kebolehgunaan semula dan kebolehskalaan kod, menjadikan kod lebih fleksibel.

Berikut ialah contoh polimorfisme:

interface Shape {
    public function getArea();
}

class Square implements Shape {
    private $length;

    public function __construct($length) {
        $this->length = $length;
    }

    public function getArea() {
        return pow($this->length, 2);
    }
}

class Circle implements Shape {
    private $radius;

    public function __construct($radius) {
        $this->radius = $radius;
    }

    public function getArea() {
        return pi() * pow($this->radius, 2);
    }
}

$square = new Square(5);
$circle = new Circle(3);

echo $square->getArea(); // 输出25
echo $circle->getArea(); // 输出28.274333882308

Dalam contoh di atas, kami mentakrifkan antara muka bernama Shape, yang mempunyai kaedah bernama getArea. Kami juga menentukan dua kelas, Square dan Circle, yang kedua-duanya melaksanakan antara muka Shape dan mengatasi kaedah getArea untuk mengira kawasan masing-masing. Dengan polimorfisme, kita boleh menggunakan kaedah getArea yang sama pada objek yang berbeza untuk mengira kawasannya.

Ringkasan

Artikel ini memperkenalkan konsep dan amalan asas pengaturcaraan berorientasikan objek PHP, termasuk kelas, objek, sifat, kaedah, enkapsulasi, pewarisan dan polimorfisme. Mempelajari pengaturcaraan berorientasikan objek PHP memerlukan latihan dan amalan berterusan, dan menggunakan konsep ini dalam projek sebenar benar-benar dapat memahami nilainya. Saya harap artikel ini dapat membantu anda mempelajari pengaturcaraan berorientasikan objek PHP langkah demi langkah dan menguasai amalan pengaturcaraan yang lebih baik.

Atas ialah kandungan terperinci Pelajari pengaturcaraan berorientasikan objek PHP langkah demi langkah. 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