OOP (Object Oriented Programming) pada PHP


Hi, teman - teman. pada kali ini saya akan membahas tentang apa itu OOP dan bagaimana cara kerjanya dan mungkin saya akan membahas sedikit tentang sifat sifat OOP pada PHP.

Sebenernya apa sih OOP itu ? OOP adalah singkatan dari Object Oritend Programing , nah OOP sendiri adalah suatu metode pemrograman untuk merubah sebuah atau suatu Entitas menjadi sebuah object. mungkin teman - teman masih terlalu sulit memahami pernyataan diatas, berikut adalah sedikit contoh.

Misal kita memiliki suatu Entitas Artikel dimana Entitas ini memiliki atribut penulis, judul, isi. 
Maka bila kita rubah dalam bentuk Object akan berbentuk seperti berikut,



Di dalam OOP juga dikenal istilah DRY yaitu singkatan dari Don't Repeat Yourself. Konsep DRY sendiri dimaksudkan agar kita tidak menuliskan fungsi yang sama berulang - ulang. Pada OOP juga kita akan lebih sering mendengar istilah class, method dan property.

class adalah perumpamaan suatu object
method adalah Sebuah fungsi yang terdapat pada suatu Class
property adalah atribut yang ada pada class

pada PHP untuk mendefinisikan suatu object kita menggunakan perintah "class" , untuk membuat method pada class kita menggunakan perintah "function" dan untuk membuat suatu atribut kita membutuh kan enkapsulasi pada nama variable, contoh "public $penulis;" dimana "public" adalah enkapsulasi, pengertian enkapsulasi sendiri adalah pembatasan attribut atau method untuk diturunkan (inheritance) atau di gunakan pada class lain, enkapsulasi dan inheritance sendiri adalah beberapa sifat dari OOP, yang akan kita bahas nnti.

berikut adalah cara mengakses property atau method pada suatu class $this->$nama_property;  atau $this->nama_method(); dan new namaClass() untuk memanggil class yang sudah dibuat.

berikut adalah implementasi sebuah class Artikel dengan sebuah method, dan property


hasil kode diatas adalah sebagai berikut


SIFAT - SIFAT OOP

OOP memiliki beberapa sifat, yaitu : Inheritance, Enkapsulasi, Polimorfisme

1. Inheritance

Inheritance artinya adalah pewarisan, dalam hal ini berarti sebuah class dapat di turunkan ke class lainnya. didalam PHP untuk mewariskan suatu class kita membutuhkan perintah "extends", pada OOP jika class A menerima pewarisan dari classB maka class A dapat menggunakan attribut dan method yang ada di class B.

Contoh :


hasil dari perintah di atas adalah.



2. Enkapsulasi

Enkapsulasi adalah pembatasan untuk mengakses suatu property atau method,ada beberapa enkapsulasi pada php yaitu, public, private, protected

public membuat property atau method dari class apa saja bisa diakses class lain dan diwariskan.

private membuat property atau method hanya bisa diakses class itu sendiri, jadi tidak bisa diturunkan ke kelas lain.

protected membuat property atau method hanya bisa diakses oleh class nya sendiri dan class yang diwariskan class tersebut namun tidak bisa diakses dari luar class.

Contoh Property Public :


Perintah diatas akan menghasilkan


Contoh Property Private



Perintah diatas akan menghasilkan 


pada property private meskipun telah di set nilai dari property nya tetap tidak bisa di tampilkan, berikut adalah salah satu solusi yang dapat dilakukan.



Contoh Property Protected



Perintah diatas akan menghasilkan 


pada pengaksesan property protected ini kita mendapati sebuah error itu di karenakan property protected tidak bisa diakses di luar class sesuai yang telah di jelaskan sebelum untuk, berikut adalah salah satu solusi yang dapat dilakukan untuk mengakses property protected


3. Polimorfisme

Maksud dari polymorfisme pada OOP adalah suatu class yang memiliki banyak method dimana method tersebut memiliki kesamaan dengan method yang berada di class lain. karena kita memegang konsep DRY menuliskan method yang sama berulang - ulang bukan lah hal baik, untuk itu konsep -Polimorfisme hadir menanggulangi masalah tersebut. pada PHP ada dua cara untuk membuat menggunakan konsep Polimorfisme ini yaitu dengan Abstract Class dan Interface namun pada penjeleasan kali ini saya akan fokuskan ke Interface, dikarenkan Interface lebih mudah dimengerti.

Syntax Penulisan Interface :


pada interface teman - teman tidak boleh mengisikan perintah di dalam method, karena nanti nya perintah nya akan ditulis oleh class yang akan diturunkan Interface tersebut. didalam penggunaan Interface bila suatu class ingin mewarisi interface maka digunakan perintah "implements"

berikut contoh implementasi Interface pada PHP



dan berikut adalah hasil perintah diatas.


pada penggunaan Interface, seluruh method yang ada pada Interface harus kita tuliskan juga pada class yang akan diwarisi atau diturunkan interface tersebut.

Sekian untuk penjelasan kali ini kurang paham atau ingin memberikan kritik dan saran bisa melalui komentar di bawah.

#HappyCoder

Leave a Comment

No comments:

Powered by Blogger.