Object Oriented Programming (OOP)

Object Oriented Programming (OOP)

1. Pengertian OOP
Dalam Pemrograman Berorientasi Object (OOP) data dan kode program di bundle dalam satu entitas, yang dikenal sebagai Object. Pada aplikasi berorientasi object terdapat beberapa object yang saling berinteraksi satu dengan yang lainnya.
Object adalah suatu entitas dari masalah (problem), dimana didalamnya terdapat kumpulan properti dan method. Properti adalah object data, berupa variabel yang dimliki object. Method adalah fungsi yang mendukug kinerja object.
Class adalah template (cetak biru) dari sebuah object, didalamnya menjelaskan properti dan method yang dimiliki oleh object.

2. Mendefinisikan Class
Gunakan keyword class untuk mendefinisikan sebuah class didepan nama class, definisikan variabel (propertis) dan fungsi(method) dalam class.
class MyClass {
//List dari Method
. . .
//List dari Properties
. . .
}

3. Keyword new dan Constructor class
Suatu instance dari class (object) diciptakan dengan menggunakan keyword new. Pada contoh sebelumnya kita telah membuat class Lingkaran, $lingkar1 = new Lingkaran();. Yang terjadi ketika keyword new digunakan adalah sebuah object dialokasikan beserta dengan variabel dan method yang didefinisikan didalam class, kemudian constructor dari calss dipanggil jika telah ada constructor class.

Constructor adalah method dengan nama __construct() (diawali dengan dua karakter garis bawah),method ini secara otomatis dipanggil ketika menggunakan keyword new setelah membuat sebuah object, anda bisa juga menggunakan nama constructor sama dengan nama class, namun dalam PHP5 disarankan menggunakan __construct() sesuai konvensi penamaan constructor.
Dalam constructor anda bisa definisikan inisialisasi dari class seperti inisialisasi variabel. Constructor dapat juga menerima argumen namun tidak boleh ada nilai balik (return value).

4. Destructor
Fungsi destructor adalah kebalikan dari constructor. Destructor dipanggil saat anda ingin menghapus sebuah object (misalnya saat tidak ada yang harus merefer ke sebuah object).
Saat yang tepat memanggil Destructor :
– Dalam proses eksekusi skrip, dimana diperlukan untuk menghapus sebuah object.
– Diakhiri request.
Untuk mendefinisikan fungsi Destructor, gunakan method __destruct() pada class.

5. Akses Method dan Properties dengan keyword $this
Selama proses eksekusi method-method dari object, PHP secara otomatis membuat variabel $this, variabel ini menunjuk ke object itu sendiri, dengan menggunakan variabel ini dan notasi ->, properties dan method pada object bisa diasosiakan.
Sebagai contoh anda bisa mengakses variabel (Properties) $jari pada object Lingkaran dengan menggunakan $this->jari, hal yang sama berlaku untuk method pada object, $this->getLuas(), jika ingin diakses dari dirinya sendiri (dalam object itu sendiri) bisa mengabaikan $this, cukup dengan getLuas() saja.

6. Public, protected dan private properties
Hampir semua bahasa pemrograman Object Oriented mengenal tiga keyword akses pembatasan : public, protected dan private.
Ketika mendefinisikan “member” (method, properties) dari class, programmer harus menentukan tipe akses apa yang akan diberikan, pada PHP3 dan PHP4 semua member variabel dari class didefinisikan dengan keyword var. Pada PHP5 tidak digunakan lagi (deprecated), anda harus menggunakan keyword baru.

  • public : member object dengan akses publicdapat diakses dari dalam maupun luar object, dengan menggunakn perintah $nama_obj->member_public:

misalnya, dari luar object :

$lingkar->getLuas()

dari dalam object :
$this->getLuas()

Jika suatu class adalah turunan dari class yang mempunyai member public, aturannya tetap sama bahwa member public dapat diakses baik dari luar maupun dari dalam object (dapat diakses oleh class turunanya).

  • protected : member object dengan akses protected hanya dapat diakses dari dalam object

Jika suatu class adalah turunan dari class yang mempunyai member protected, aturannya tetap sama bahwa member protected hanya dapat diakses dari dalam object (dapat diakses oleh class turunanya dengan keyword $this)

  • private : member object dengan akses private sama dengan member protected

yaitu hanya bisa diakses dari dalam object. Namun variabel private tidak dapat diakses oleh class turunanya. Jika dalam class turunan dideklarasikan member private dengan nama yang sama dengan parentnya, maka member private itu hanya dikenal di masing-masing class saja (tidak terhubung).

7. Public, protected dan private Method
Akses method object mempunyai aturan yang sama dengan akses variabel object (properties object).

  • public : method public dapat dipanggil dalam sembarang skup
  • protected : method protected hanya bisa diakses dalam internal class dan class turunanya
  • private : method private hanya bisa diakses dalam internal class, dan tidak dapat diakses oleh class turunanya. Sama seperti variabel object, class turunan dapat mendefinisikan ulang method private dari parent classnya.

8. Static Properties (Variabel Static)
Properties (variabel) dideklarasikan dalam class. Setiap instance dari class (object) memunyai “copy” dari properties-properties ini. Class juga dapat mempunyai properties static (static variables), tidak seperti properties lainnya, static properties adalah milik dari class dan bukan milik dari instance dari class (object itu sendiri), karenanya properties ini sering disebut sebagai class properties, lawan dari instance properties (object properties).

9. Static Method
Sama seperti properties, PHP juga men-support method static. Methid static adalah milik dari class, bukan milik dari instance class, karenanya keyword $this tidak bisa digunakan untuk mengakses method static dalam class, gunakan keyword self untuk mengakses method static dalam class, gunakan keyword self untuk mengakses method static, self::method(). Gunkan nama_class::method() untuk mengakses method static dari luar class.

10. Konstatnta Pada Class
Pada PHP3 dan PHP4 ketika mendefinisikan suatu konstanta haruslah menggunakan keyword define(), dan anda tidak bisa mendefinisikan konstanta dalam class.
Pada PHP5 dimungkinkan untuk mendeklarasikan konstanta didalam class. Gunakan keyword self untuk mengakses konstanta dari dalam class, dan gunakan nama class kemudian nama konstanta class ketika mengakses konstanta dari luar class (nama_class::konstanta).

11. parent:: dan self::
PHP mengenal dua keyword untuk me-refer ke sebuah nama class, sehingga memudahkan dalam mengimplementasikan OOP.
self:: merefer ke sebuah class saat ini(current class) biasanya untuk mengakses variabel static, method static dan konstanta.
parent:: digunakan untuk merefer ke parent class, dan biasanya digunakan untuk memanggil konstruktor dan method dari parent class, dan bisa juga digunakan untuk mengakses member atu konstanta.

12. Operator instanceof
Operator instanceof digunakan untuk menggantikan fungsi built-in is_a() (sekarang disarankan tidak dipakai lagi / deprecated). Operator instanceof adalah operator operasi logika binary, yang digunakan untuk menguji apakah suatu variabel (object) adalah instance dari suatu class.

13. Method Abstract dan Class
Ketika mendesain hirarki suatu class, anda pasti ingin menggunakan method pada parent yang akan diimplementasikan oleh child (turunanya).
Gunakan keyword abstract didepan keyword class pada saat deklarasi class, setiap method abstarct harus dideklarasikan dengan keyword abstract. Dalam abstract class dapat juga didefinisikan method bukan abstarct dan variabel.

14. Interfaces
Interfaces adalah spesifikasi umum yang dimiliki oleh sebuah object, dengan adanya interfaces programmer bisa menghubungkan antara class (parent class) yang mempunyai ciri khas yang berbeda misalnya, parent class atau parent Bentuk2D : yang akan mempunyai turunan betuk-bentuk benda dua dimensi.
Contoh lain parent class Produk yang akan mempunyai turunan nama produk yang bisa dijual, kedua parent classakan bisa disatukan dengan cara class atau parent class mengimplementasi suatu interfaces yang sama.
Interfaces dideklarasikan dengan menggunakan keyword interface diawal nama interface.

15. final Method
Suatu method akan tidak bisa di override atau tidak bisa didefinisikan ulang lagi oleh turunanya jika method tersebut adalah method final.

16. final Class
Sama seperti final method, suatu class jika dideklarasikan sebagai class final maka class tersebut tidak boleh di extends (tidak boleh menjadi parent) oleh class lain.

17. Method __toString
PHP menggunakan method __toString() untuk mengimplementasikan dalam mencetak string yang merepresentasikan sebuah object.

7 Tanggapan

  1. wieits weits weits weits Waaaw Amazing .. asik nih saya terbantu dengan tulisan anda. terus berkarya. lumayan buat baca baca🙂

  2. keren infonya ane juga mw share nihh cara membuat aplikasi pembayaran angsuran bank visit back yawww DI SINI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: