Dalam artikel ini, kita akan meneroka asas-asas pengaturcaraan berorientasikan objek menggunakan kelas php. Pengaturcaraan, yang biasanya dirujuk sebagai OOP, adalah pendekatan yang membantu anda membangunkan aplikasi yang kompleks dengan cara yang mudah dikekalkan dan berskala dalam jangka panjang. Di dunia OOP (untuk membuat objek dalam PHP), entiti dunia sebenar seperti
,
, ataudianggap sebagai objek. Dalam pengaturcaraan berorientasikan objek, anda berinteraksi dengan aplikasi anda dengan menggunakan objek. Ini berbeza dengan pengaturcaraan prosedur, di mana anda terutamanya berinteraksi dengan fungsi dan pembolehubah global. Objek "
, Person
, Car
, dan lain -lain Animal
, , dan . Maka setiap objek orang akan mempunyai nilai tersendiri untuk sifat -sifat tersebut. Anda juga boleh menentukan kaedah dalam kelas yang membolehkan anda memanipulasi nilai sifat objek dan melaksanakan operasi pada objek. Sebagai contoh, anda boleh menentukan kaedah yang menjimatkan maklumat objek ke pangkalan data. Kelas adalah templat yang mewakili entiti dunia nyata, dan ia mentakrifkan sifat dan kaedah entiti. Dalam bahagian ini, kita akan membincangkan anatomi asas kelas PHP yang biasa. Cara terbaik untuk memahami konsep baru adalah dengan contoh. Oleh itu mari kita lihat kelas dalam coretan berikut, yang mewakili entiti pekerja. Kemudian, kami terus mengisytiharkan sifat -sifat, pembina, dan kaedah kelas yang lain. Dalam contoh di atas, kami telah menentukan tiga sifat Person
- dan
zainab
, hector
, dan
Ciri -ciri ini adalah private
, yang bermaksud mereka hanya boleh diakses dari dalam kelas dalam PHP. Ini adalah tahap akses yang paling selamat untuk sifat. Kami akan membincangkan tahap akses yang berbeza untuk sifat dan kaedah kelas dalam PHP kemudian dalam artikel ini. Kami akan melihat bagaimana untuk meniru objek dalam beberapa bahagian yang akan datang, tetapi buat masa ini anda hanya perlu tahu bahawa pembina digunakan untuk memulakan sifat objek apabila objek sedang dibuat. Dalam kebanyakan kes, ia digunakan untuk mengakses dan memanipulasi sifat objek dan melaksanakan operasi yang berkaitan.
Apakah objek dalam php? Sekarang, apabila anda ingin menggunakan kelas, anda perlu memberi instantiasi, dan hasil akhirnya adalah objek. Oleh itu, kita boleh memikirkan kelas sebagai pelan tindakan, dan objek adalah perkara sebenar yang boleh anda bekerjasama. Kelas. Dalam kes kami, pembina kelas
memerlukan tiga hujah, dan dengan itu kami telah meluluskannya apabila kami membuat objek __construct
. Seperti yang telah dibincangkan sebelum ini, kaedah
Di bahagian sebelumnya, kita membincangkan cara untuk memberi insteriasi objek kelas Employee
. Sangat menarik untuk diperhatikan bahawa objek $objEmployee
itu sendiri membungkus sifat dan kaedah kelas. Dalam erti kata lain, ia menyembunyikan butiran tersebut dari seluruh program. Di dunia OOP, ini dipanggil enkapsulasi data. Dan ini membawa kita ke topik lain untuk perbincangan
tahap akses. Sebagai orang awam, ia boleh diakses dari mana saja di luar kelas. Nilai harta awam boleh diubahsuai dari mana -mana di dalam kod anda. Oleh itu, anda boleh menetapkannya dari mana -mana di luar kelas, seperti yang telah kami lakukan di sini. Ini bermakna anda perlu menentukan kaedah getter dan setter untuk mendapatkan dan menetapkan nilai harta itu. Oleh itu, anda perlu menetapkan nilai harta persendirian menggunakan kaedah setter, seperti yang kami lakukan menggunakan kaedah . Sebagai contoh, mungkin beberapa tindakan perlu diambil (mengemas kini pangkalan data, katakan, atau membuat semula templat) jika harta itu berubah. Dalam hal ini, anda boleh menentukan kaedah setter dan mengendalikan mana -mana logik khas apabila harta itu diubah. Kami akan membincangkan warisan di bahagian seterusnya, jadi kami akan kembali ke tahap akses yang dilindungi sedikit kemudian.
adalah aspek penting dari paradigma pengaturcaraan berorientasikan objek yang membolehkan anda mewarisi sifat dan kaedah kelas lain dengan memperluaskannya. Kelas yang diwarisi dipanggil kelas induk , dan kelas yang mewarisi kelas lain dipanggil kelas kanak -kanak . Apabila anda menegaskan objek kelas kanak -kanak, ia mewarisi sifat dan kaedah kelas induk juga. Kelas. Sekarang, kelas
boleh mengakses semua sifat dan kaedah kelasyang diisytiharkan sebagai orang awam atau dilindungi. (Ia tidak boleh mengakses ahli yang diisytiharkan sebagai peribadi.) Akhirnya, objek
tidak dapat mengakses kaedah kerana ia diisytiharkan sebagai swasta. Pengenalan ringkas kepada warisan. Ia membantu anda untuk mengurangkan duplikasi kod, dan dengan itu menggalakkan kebolehgunaan semula kod. kaedah. Ini dipanggil kaedah mengatasi. Mari kita cepat melalui contoh dunia nyata untuk memahami konsep kaedah yang mengatasi. Person
<?php<br>class Employee<br>{<br> private $first_name;<br> private $last_name;<br> private $age;<br> <br> public function __construct($first_name, $last_name, $age)<br> {<br> $this->first_name = $first_name;<br> $this->last_name = $last_name;<br> $this->age = $age;<br> }<br><br> public function getFirstName()<br> {<br> return $this->first_name;<br> }<br><br> public function getLastName()<br> {<br> return $this->last_name;<br> }<br><br> public function getAge()<br> {<br> return $this->age;<br> }<br>}<br>?><br>
Seperti yang anda lihat, kami telah mengubah tingkah laku kaedah formatMessage
dengan mengatasinya dalam kelas BoldMessage
. Yang penting ialah mesej diformat secara berbeza berdasarkan jenis objek, sama ada ia adalah contoh kelas induk atau kelas kanak-kanak. Ini tidak disokong secara langsung dalam PHP, tetapi terdapat beberapa penyelesaian untuk mencapai fungsi yang sama. Pengaturcaraan berorientasikan objek adalah subjek yang luas, dan kami hanya menggaruk permukaan kerumitannya. Saya berharap bahawa tutorial ini membantu anda memulakan anda dengan asas-asas OOP dan ia memotivasi anda untuk meneruskan dan mempelajari topik OOP yang lebih maju. Hari ini, dalam konteks PHP, kami membincangkan beberapa konsep asas OOP, dan kami juga mengambil kesempatan untuk memperkenalkan beberapa contoh dunia nyata.
Atas ialah kandungan terperinci PHP berorientasikan objek dengan kelas dan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!