Dalam dunia nyata, sebuah objek pasti mempunya karakteristik dan kebiasaan. Contoh sebuah Mobil memiliki warna, bobot, pembuatan dan volume dari tagki bensin itu semua termasuk kedalam karakteristiknya. Sedangkan mobil dapat dipercepat, mobil dapat berhenti, suara dari klakson itu termasuk kedalam kebiasaan objek tersebut. Untuk semua mobil pasti mempunyai karakteristik dan kebiasaan itu. Dengan adanya OOP, kamu dapat memodelkan ide umum dari mobil kedalam sebuah Class.
Object
Object adalah contoh khusus dari class Mobil, misalnya anda mempunyai class mobil, maka anda bisa saja membuat Object pertama dengan nama myCar dan class kedua dengan nama yourCar yang sama-sama berpacu pada class Mobil.
Class merupakan sebuah blue print untuk membangun sebuah Object dan juga yang akan menentukan karakteristik apa yang akan object miliki, tetapi tidak semua karakteristik tersebut digunakan oleh object.
Properties
Dalam terminology OOP, karakteristik class atau Object dikenal sebagai sifat. Properti bisa dibilang seperti sebuah variable yang didalamnya mempunyai nama dan nilai. Dan beberapa sifat memungkinkan nilainya dapat dirubah atau tidak samasekali.
Methods
Kebiasaan dari sebuah class atau bisa dibilang sebuah tindakan yang berkaitan dengan class itu disebut sebagai Methods. Seperti fungsi, beberapa metode bertindak berdasarkan data eksternal yang diberikan kepada mereka sebagai argument, tetapi object dari method juga dapat mengakses properties dari object. Methods dari class secara kolektif disebut juga sebagai ‘anggota’ dari sebuah class.
Pengenalan Modifier:
Ada tiga modifier yang biasa digunakan dalam class:
- Public : Properti dan method dapat diakses oleh kelas itu sendiri oleh class lain melaui objeknya.
- Protected : Properti dan method hanya dapat diakses oleh class itu saja dan turunannya sendiri.
- Private: Properti dan Method hanya dapat diakses oleh kelas itu sendiri.
Hal yang perlu kita perhatikan dalam pembutan oop pada php adalah pembuatan 2 halaman:
- Index.php
- ClassLibrary.php
Untuk merancang script php atau code pustaka, maka anda perlu membuat class terlebih dahulu. Awali pembuatan class anda dengan kata ‘Class’ diikuti dengan nama yang akan diberikan pada class baru anda.
Salah satu perbedaan besar antara fungsi dan kelas adalah bahwa kelas berisi data (variabel) dan fungsi yang berupa paket disebut: 'objek'. Bila Anda membuat variabel di dalam kelas, hal ini disebut 'properti'.
Selain itu ada juga fungsi getter dan setter. Metode ini mengikuti konvensi OOP pada umumnya yang Anda lihat dalam banyak bahasa (termasuk Jawa dan Ruby) - di mana Anda membuat metode untuk 'diatur' dan 'mendapatkan' properti dalam kelas.
Untuk penamaan sendiri hanya mengikuti nama dari variable dan ditambahkan set_ atau get_ seperti contoh diatas.
Cara diatas digunakan pada saat programmer akan menggunakan object yang anda buat. mereka akan tahu bahwa jika Anda memiliki sebuah metode/fungsi disebut 'set_name()', akan ada sebuah properti / variabel bernama 'nama'.
Selain fungsi diatas, di dalam script anda terdapat juga penulisan $this-> $nama. $this adalah built-in variabel (dibangun ke dalam semua benda) yang menunjuk ke objek saat ini. Atau dengan kata lain, $this variabel diri referensi khusus. Anda menggunakan $this untuk mengakses properti dan memanggil metode kelas saat ini. Jika pemahaman diatas sulit dimengerti maka yang harus anda mengerti agar mudah memahami adalah $this digunakan untuk OOP php yang khusus. Jadi jika ada penggunaan $this pada sebuah variable tertentu maka mesin akan tau apa yang harus dia lakukan.
Selanjutnya class yang anda buat tidak dapat diakses pada halaman yang sama. Maka dari ini saat class anda akan diakses dari luar dengan menggunakan bantuan Object maka anda memerlukan bantuan ‘include’ atau ‘require’.
Lalu setelah anda membuat halaman baru dan menggunakan ‘include’ yang menandakan anda akan menggunakan class tersebut, maka selanjutnya anda membutuhkan instansiasi.
$org disebut sebagai object sebagai instansiasi dari class Orang(). Dan script di atas tidak akan menampilkan sesuatu, karna script tersebut bukan untuk mencetak sesuatu.
Sekarang bagaimana menggunakan fungsi diatas:
$setNama digunakan untuk mengatur nama yang akan dipanggil, dan nama tersebut akan terpanggil jika menggunakan fungsi $getNama.
Contoh 1:
- Buatlah class dengan nama Car.
- Simpan di dalam htdocs -> Nim masing” -> CCar.php