Kita bisa membayangkan alam semesta kita terbuat dari objek yang berbeda seperti matahari, bumi, bulan dll. Demikian pula kita dapat membayangkan mobil kita terbuat dari objek yang berbeda seperti roda, kemudi, persneling, dll. Cara yang sama ada konsep pemrograman berorientasi objek yang menganggap semuanya sebagai objek dan mengimplementasikan perangkat lunak menggunakan objek yang berbeda Show
Konsep Berorientasi ObjekSebelum kita membahas secara detail, mari kita definisikan istilah-istilah penting yang terkait dengan Pemrograman Berorientasi Objek
Mendefinisikan Kelas PHPBentuk umum untuk mendefinisikan kelas baru di PHP adalah sebagai berikut − Berikut adalah deskripsi dari setiap baris −
ContohBerikut adalah contoh yang mendefinisikan kelas tipe Buku − price = $par; } function getPrice(){ echo $this->price ."_ Variabel $this adalah variabel khusus dan mengacu pada objek yang sama yaitu. diri Membuat Objek di PHPSetelah Anda menentukan kelas Anda, maka Anda dapat membuat objek sebanyak yang Anda suka dari jenis kelas itu. Berikut adalah contoh cara membuat objek menggunakan operator baru $physics = new Books; $maths = new Books; $chemistry = new Books; Di sini kita telah membuat tiga objek dan objek-objek ini tidak bergantung satu sama lain dan mereka akan memiliki keberadaannya secara terpisah. Selanjutnya kita akan melihat bagaimana mengakses fungsi anggota dan memproses variabel anggota Memanggil Fungsi AnggotaSetelah membuat objek, Anda akan dapat memanggil fungsi anggota yang terkait dengan objek tersebut. Satu fungsi anggota akan dapat memproses variabel anggota dari objek terkait saja Contoh berikut menunjukkan cara mengatur judul dan harga untuk tiga buku dengan memanggil fungsi anggota $physics->setTitle( "Physics for High School" ); $chemistry->setTitle( "Advanced Chemistry" ); $maths->setTitle( "Algebra" ); $physics->setPrice( 10 ); $chemistry->setPrice( 15 ); $maths->setPrice( 7 ); Sekarang Anda memanggil fungsi anggota lain untuk mendapatkan nilai yang ditetapkan dalam contoh di atas - $physics->getTitle(); $chemistry->getTitle(); $maths->getTitle(); $physics->getPrice(); $chemistry->getPrice(); $maths->getPrice();_ Ini akan menghasilkan hasil berikut - Physics for High School Advanced Chemistry Algebra 10 15 7 Fungsi KonstruktorFungsi Konstruktor adalah jenis fungsi khusus yang dipanggil secara otomatis setiap kali objek dibuat. Jadi kami memanfaatkan sepenuhnya perilaku ini, dengan menginisialisasi banyak hal melalui fungsi konstruktor PHP menyediakan fungsi khusus yang disebut __construct() untuk mendefinisikan konstruktor. Anda dapat memberikan argumen sebanyak yang Anda suka ke dalam fungsi konstruktor Contoh berikut akan membuat satu konstruktor untuk kelas Buku dan akan menginisialisasi harga dan judul buku pada saat pembuatan objek function __construct( $par1, $par2 ) { $this->title = $par1; $this->price = $par2; }_ Sekarang kita tidak perlu memanggil fungsi set secara terpisah untuk mengatur harga dan judul. Kita dapat menginisialisasi dua variabel anggota ini pada saat pembuatan objek saja. Periksa contoh berikut di bawah ini − $physics = new Books( "Physics for High School", 10 ); $maths = new Books ( "Advanced Chemistry", 15 ); $chemistry = new Books ("Algebra", 7 ); /* Get those set values */ $physics->getTitle(); $chemistry->getTitle(); $maths->getTitle(); $physics->getPrice(); $chemistry->getPrice(); $maths->getPrice(); Ini akan menghasilkan hasil berikut - Physics for High School Advanced Chemistry Algebra 10 15 7_ PenghancurSeperti fungsi konstruktor, Anda dapat mendefinisikan fungsi destruktor menggunakan fungsi __destruct(). Anda dapat melepaskan semua sumber daya di dalam destruktor WarisanDefinisi kelas PHP secara opsional dapat mewarisi dari definisi kelas induk dengan menggunakan klausa extends. Sintaksnya adalah sebagai berikut − class Child extends Parent { }_ Efek pewarisan adalah bahwa kelas anak (atau subkelas atau kelas turunan) memiliki karakteristik sebagai berikut −
Contoh berikut mewarisi kelas Buku dan menambahkan lebih banyak fungsi berdasarkan persyaratan price = $par; } function getPrice(){ echo $this->price ."_0 Sekarang terlepas dari fungsi yang diwariskan, Novel kelas menyimpan dua fungsi anggota tambahan Penimpaan FungsiDefinisi fungsi di kelas anak menggantikan definisi dengan nama yang sama di kelas induk. Di kelas anak, kita bisa memodifikasi definisi fungsi yang diwarisi dari kelas induk Dalam contoh berikut fungsi getPrice dan getTitle diganti untuk mengembalikan beberapa nilai price = $par; } function getPrice(){ echo $this->price ."_1 Anggota PublikKecuali jika Anda menentukan sebaliknya, properti dan metode kelas bersifat publik. Dengan kata lain, mereka dapat diakses dalam tiga kemungkinan situasi −
Sampai sekarang kita telah melihat semua anggota sebagai anggota publik. Jika Anda ingin membatasi aksesibilitas anggota kelas maka Anda mendefinisikan anggota kelas sebagai pribadi atau dilindungi Anggota pribadiDengan menunjuk anggota pribadi, Anda membatasi aksesibilitasnya ke kelas yang dideklarasikan. Anggota pribadi tidak dapat dirujuk dari kelas yang mewarisi kelas yang dideklarasikan dan tidak dapat diakses dari luar kelas Anggota kelas dapat dijadikan pribadi dengan menggunakan kata kunci pribadi di depan anggota price = $par; } function getPrice(){ echo $this->price ."_2 Ketika kelas MyClass diwariskan oleh kelas lain menggunakan extends, myPublicFunction() akan terlihat, begitu juga dengan $driver. Kelas perluasan tidak akan mengetahui atau mengakses myPrivateFunction dan $car, karena keduanya dinyatakan pribadi Anggota yang dilindungiProperti atau metode yang dilindungi dapat diakses di kelas tempat ia dideklarasikan, serta di kelas yang memperluas kelas tersebut. Anggota yang dilindungi tidak tersedia di luar kedua jenis kelas tersebut. Anggota kelas dapat dilindungi dengan menggunakan kata kunci dilindungi di depan anggota Ini adalah versi berbeda dari MyClass − price = $par; } function getPrice(){ echo $this->price ."_3 AntarmukaAntarmuka didefinisikan untuk memberikan nama fungsi umum ke pelaksana. Pelaksana yang berbeda dapat mengimplementasikan antarmuka tersebut sesuai dengan kebutuhan mereka. Bisa dibilang, interface adalah kerangka yang diimplementasikan oleh developer Pada PHP5, dimungkinkan untuk mendefinisikan antarmuka, seperti ini − price = $par; } function getPrice(){ echo $this->price ."_4 Kemudian, jika kelas lain mengimplementasikan antarmuka itu, seperti ini - price = $par; } function getPrice(){ echo $this->price ."_5 KonstantaKonstanta agak mirip dengan variabel, karena memiliki nilai, tetapi sebenarnya lebih seperti fungsi karena konstanta tidak dapat diubah. Setelah Anda mendeklarasikan sebuah konstanta, itu tidak berubah Mendeklarasikan satu konstanta itu mudah, seperti yang dilakukan dalam versi MyClass − ini price = $par; } function getPrice(){ echo $this->price ."_6 Di kelas ini, requiredMargin adalah konstanta. Itu dideklarasikan dengan kata kunci const, dan dalam keadaan apa pun tidak dapat diubah menjadi apa pun selain 1. 7. Perhatikan bahwa nama konstanta tidak memiliki awalan $, seperti halnya nama variabel Kelas AbstrakKelas abstrak adalah salah satu yang tidak bisa dipakai, hanya diwariskan. Anda mendeklarasikan kelas abstrak dengan kata kunci abstrak, seperti ini − Saat mewarisi dari kelas abstrak, semua metode yang ditandai abstrak dalam deklarasi kelas induk harus ditentukan oleh anaknya; price = $par; } function getPrice(){ echo $this->price ."_7 Perhatikan bahwa definisi fungsi di dalam kelas abstrak juga harus diawali dengan kata kunci abstrak. Tidak sah memiliki definisi fungsi abstrak di dalam kelas non-abstrak Kata Kunci StatisMendeklarasikan anggota kelas atau metode sebagai statis membuat mereka dapat diakses tanpa memerlukan instantiasi kelas. Anggota yang dideklarasikan sebagai statis tidak dapat diakses dengan objek kelas yang dipakai (walaupun metode statis bisa) Coba contoh berikut - price = $par; } function getPrice(){ echo $this->price ."_8 Kata Kunci TerakhirPHP 5 memperkenalkan kata kunci final, yang mencegah kelas anak dari mengesampingkan metode dengan mengawali definisi dengan final. Jika kelas itu sendiri sedang didefinisikan final maka tidak dapat diperpanjang Contoh berikut menghasilkan kesalahan Fatal. Tidak dapat mengesampingkan metode final BaseClass. moreTesting() price = $par; } function getPrice(){ echo $this->price ."_9 Memanggil konstruktor indukAlih-alih menulis konstruktor yang sama sekali baru untuk subkelas, mari kita tulis dengan memanggil konstruktor induk secara eksplisit dan kemudian melakukan apa pun yang diperlukan sebagai tambahan untuk pembuatan subkelas. Berikut adalah contoh sederhana − $physics = new Books; $maths = new Books; $chemistry = new Books;0 Dalam contoh ini, kami memiliki kelas induk (Nama), yang memiliki konstruktor dua argumen, dan subkelas (NameSub1), yang memiliki konstruktor tiga argumen. Konstruktor NameSub1 berfungsi dengan memanggil konstruktor induknya secara eksplisit menggunakan. sintaks (menyerahkan dua argumennya) dan kemudian menyetel bidang tambahan. Demikian pula, NameSub1 mendefinisikan fungsi non konstruktor toString() dalam hal fungsi induk yang ditimpa CATATAN − Konstruktor dapat didefinisikan dengan nama yang sama dengan nama kelas. Ini didefinisikan dalam contoh di atas Bagaimana Anda membuat objek baru di PHP?Untuk membuat objek baru di PHP, Anda harus menggunakan kata kunci new .
Bagaimana cara membuat objek di PHP dengan contoh?Berikut adalah contoh cara membuat objek menggunakan operator baru. Buku kelas { // Anggota kelas Buku } // Membuat tiga objek Buku $fisika = Buku baru; . Setelah membuat objek kita, kita dapat memanggil fungsi anggota yang terkait dengan objek itu. Member Functions: After creating our objects, we can call member functions related to that object.
Bagaimana Anda membuat kelas baru dari suatu objek?Untuk membuat objek Main , tentukan nama kelas, diikuti dengan nama objek, dan gunakan kata kunci baru. . Contoh. Buat objek bernama " myObj " dan cetak nilai x. kelas publik Utama { int x = 5; . . Contoh. . Kedua. Jawa Bagaimana cara membuat kelas di PHP?Aspek Utama Kelas PHP . Tentukan kelas dengan kata kunci "kelas" diikuti dengan nama kelas Tentukan metode konstruktor menggunakan “__construct” diikuti dengan argumen. Objek kelas kemudian dapat dipakai menggunakan "NamaKelas baru (argument_list)" Tentukan variabel kelas. . Tentukan metode menggunakan kata kunci "fungsi". |