[#1 CatatanKu : OOP PHP] Class, Object, Property, dan Method
Hallo teman-teman!, beberapa waktu sebelumnya aku mempelajari sebuah konsep pemrograman yaitu Object Oriented Programming (OOP) menggunakan bahasa PHP, kenapa OOP? Dengan mempelajari OOP aku rasa akan mempermudah dalam mengembangkan kode-kode kompleks menjadi lebih mudah digunakan, dibaca dan lebih terorganisir, serta ini akan menjadi Langkah pertamaku dalam memahami framework seperti Laravel dan CodeIgneter. Bukannya bisa langsung mempelajari frameworknya saja? Iya bisa, tapiii dengan mempelajari dasarnya akan mempermudah dalam mempelajari framework tersebut bukan?, dengan dasar yang kuat niscaya akan mempermudah belajar apapun termasuk framework! 😊. Inilah CatatanKu mengenai OOP dengan PHP, selamat membaca ..
Class adalah cetak biru (blueprint) untuk membuat objek, yang menentukan apa yang dimiliki (property) dan apa yang dapat dilakukan sebuah objek (method) (Sumber:Wikipedia). Class juga bisa disebut sebagai template untuk membuat sebuah object, sedangkan Object adalah “Instance” dari sebuah kelas.
Misalkan kita analogikan Class adalah sebuah Mobil yang memiliki ciri-ciri seperti nama, merk, warna, ban dan beberapa ciri khas yang menyatakan sebuah benda tersebut adalah Mobil. Class disini adalah gambaran umum tentang sebuah benda.
Dan Object adalah implementasi (Instance) dari sebuah Class, misalkan untuk Class Mobil bisa membuat Object Ferrari, Alphard, Lamborghini, dll. Sehingga dengan satu Class dapat membuat banyak Object, object akan mewarisi property dan method yang dimiliki oleh Class, seperti pada illustrasi Object Ferrari dan Lamborghini memiliki property pada Class Mobil.
Dalam PHP, penulisan Class menggunakan keyword class, diikuti dengan nama kelas yang biasanya awal penulisannya menggunakan huruf kapital dan kurung kurawal {}. Semua property dan method atau isi dari Class ditulis didalam kurung kurawal tersebut.
Berikut contoh penulisan Class dan instansi Object dalam PHP :
Seperti dijelaskan diatas satu Class dapat digunakan membuat beberapa Object, pada contoh diatas $ferrari dan $lamborghini merupakan Object dari Class Mobil. Didalam penulisan Class diatas, terdapat property dan method, apa itu?
Property atau bisa juga disebut dengan atribut adalah data yang terdapat dalam sebuah Class. Seperti analogi diatas, property merupakan ciri-ciri atau atribut yang dimiliki oleh Mobil yaitu nama, warna, merk, ban, dan lain-lain. Sederhananya, property merupakan variable yang terdapat didalam Class, sedangkan
Method merupakan tindakan atau perilaku yang bisa dilakukan atau dimiliki didalam Class, pada analogi sebelumnya contoh methodnya adalah tambah kecepatan, kurangi kecepatan, belok kanan, belok kiri, dan lain-lain. Sederhananya method merupakan function yang terdapat didalam Class, method memiliki sifat yang sama dengan function seperti argument/parameter, mengembalikan nilai (return), dan lain-lain.
Bagaimana mengisi/menggunakan property dan method tersebut ? bisa dilakukan dengan memberikan nilai default pada Class atau melakukan instansi object terlebih dahulu dan setelahnya kita isi property object tersebut. Seperti pada contoh berikut :
Diatas property didalam Class Mobil diberikan nilai default, sehingga ketika di instansi menjadi Object, property pada Object tersebut juga berisi nilai default tersebut. Nilai dari property sebuah Object juga bisa diubah/diisi, seperti contoh dibawah :
Penggunaan cara diatas sebenarnya kurang direkomendasikan karena ada cara yang lebih efektif dan aman untuk mengisi nilai property Class, yaitu dengan menggunakan Constructor, yang akan dibahas di artikel selanjutnya. Lalu bagaimana dengan Method? Untuk penulisan method, ada keyword yang sering digunakan yaitu “this”.
This merupakan variable yang merujuk pada Property/Method yang saat ini sedang didefinisikan.
Berikut contoh penulisan method yang berisi variable this :
Pertama kita tambahkan property baru pada Class Mobil, beserta default valuenya.
Selanjutnya kita buat method tambahKecepatan
Variable $this->kecepatan, diatas merujuk pada property kecepatan pada Class/Object yang sedang didefinisikan. Berikut merupakan kode keseluruhan dalam pembahasan Class dan Object ini.
<?php// penulisan Class dalam PHPclass Mobil {// property dengan nilai defaultpublic $nama = "Mobil",$merk = "ini mobil",$lampu = "LED",$ban = "Tubelless",// property baru$kecepatan = 10;// method dengan parameter dan varibel thispublic function tambahKecepatan($fast){// mengembalikan nilai kecepatan yg ditambahreturn $this->kecepatan += $fast;
}public function belokKanan(){// isi dari method belokKanan}}// instansi object dari sebuah kelas// menggunakan keyword "new" diikuti oleh nama kelas.$ferari = new Mobil();$ferari->nama = "LaFerrari";$ferrari->merk = "Ferrari";// memanggil methodecho $ferari->tambahKecepatan(20); //30$lamborghini = new Mobil();
Sekian Seri CatatanKu mengenai Class dan Object dalam pembelajaranku mengenai OOP pada PHP. Semoga artikel ini dapat membantu kalian semua kalau ada pertanya silahkan tulis di kolom komentar ya, masih ada lanjutan CatatanKu mengenai OOP dengan PHP di artikel berikutnya!! Sampai jumpa.. 😉