Object Oriented Programming atau lebih dikenal dengan OOP adalah suatu metode atau cara penulisan Code Program yang berfokus pada orientasi object. Tujuan utama dari OOP adalah memecah Code Program kedalam bagian bagian kecil atau disebut dengan object sehingga mudah untuk di lakukan perbaikan dimasa yang akan datang.
Prinsip Dasar OOP
Berikut prinsip - prinsip dasar dari OOP
1. Encapsulation
Encapsulation pada OOP merupakan suatu konsep atau cara untuk melakukan hidding dan juga protect informasi atau function dari proses interupsi sumber code yang lain.
Encapsulation
classStudent {private $firstname;private $gender;publicfunctiongetFirstName() {return$this->firstname; }publicfunctionsetFirstName($firstname) {$this->firstname = $firstname;echo("First name is set to ".$firstname);echo("<br>"); }publicfunctiongetGender() {return$this->gender; }publicfunctionsetGender($gender) {if ('Male'!== $gender and'Female'!== $gender) {echo('Set gender as Male or Female for gender'); }$this->gender = $gender;echo("Gender is set to ".$gender);echo("<br>"); }}$student =newStudent();$student->setFirstName('Meena');$student->setGender('Female');
2. Inheritance
Inheritance adalah konsep untuk mewarisi suatu class kepada class lain sehingga dapat beberapa class yang berbeda dapat digunakan didalam suatu class yang sama.
Inheritance
classA {publicfunctioninsideA() {echo"I am in class A"; }}interfaceB {publicfunctioninsideB();}classMultipleextendsAimplementsB {functioninsideB() {echo"\nI am in interface"; }publicfunctioninsidemultiple() {echo"\nI am in inherited class"; }}$geeks =newmultiple();$geeks->insideA();$geeks->insideB();$geeks->insidemultiple();
3. Abstract Class
Abstract Class merupakan class yang tidak bisa di-instansiasi ataupun dirubah menjadi object sehingga Abstract Class Dapat perperan sebagai Kerangka Dasar bagi class turunannya. abstrack class umum nya memiliki abstract method.
Abstract Class
// Abstract classabstractclassBase {function__construct() {echo"this is abstract class constructor "; }// This is abstract functionabstractfunctionprintdata();}classDerivedextendsbase {function__construct() {echo"\n Derived class constructor"; }functionprintdata() {echo"\n Derived class printdata function"; }}$b1 =newDerived;$b1->printdata();?>
SOURCE
Kamu dapat melihat banyak contoh penggunaan yang lebih lengkap di sini