Examples of Implementing Inheritance and Encapsulation in PHP
Apa itu OOP?
OOP atau Object Oriented Programming adalah sebuah paradigma atau teknik pemrograman yang berdasarkan konsep Object yang berisi data dalam bentuk field yang disebut atribut dan juga fungsi/prosedur yang di sebut method.
Atribut adalah data yang ada dalam sebuah class yang merepresentasikan karakteristik dari sebuah class. Setiap atribut memiliki struktur dasar, diantaranya adalah modifier, tipe data, nama konstanta dan nilai.
Method sebuah fungsi/prosedur yang memiliki keterkaitan dengan pesan dan objek.
4 Pilar Dalam OOP
OPP Memiliki 4 pilar yaitu Inheritance, Encapsulation, Abstraction, dan Polymorphism. Untuk kali ini yang akan penulis implementasikan hanya 2 pilar saja yaitu Inheritance dan Encapsulation.
Inheritance adalah mekanisme pewarisan sifat yang dilakukan dari sebuah kelas (induk) ke class baru (anak), di mana beberapa fungsi maupun atribut yang ada pada induk kelas akan bisa diakses oleh kelas baru tersebut.
Inheritance dikenal ada beberapa jenis diantaranya:
- Single Inheritance, class yang dibuat hanya mewarisi satu class saja.
- Multiple Inheritance, class yang mewarisi lebih dari satu superclass
- Hierarchical Inheritance, sebuah superclass yang diwarisi oleh beberapa subclass.
- Hybrid Inheritance, kombinasi dari beberapa inheritance.
Encapsulation adalah proses di mana penanganan data diisolasi dan ditempatkan di dalam sebuah class. Data yang terisolasi tidak dapat diakses langsung dari luar.
Dan dalam Encapsulation khususnya di PHP ada juga 3 jenis pembungkusan yaitu:
- Private, Dimana atribut atau method hanya dapat diakses dari dalam class itu sendiri. Class lain termasuk class turunannya tidak dapat mengaksesnya, Tidak dapat di akses di luar class.
- Protected, Atribut atau method hanya dapat diakses dari dalam class atau class turunannya (Inheritance class). Tidak dapat di akses di luar class.
- Public, Atribut atau method dapat di akses dari manapun termasuk di luar class.
Implementasi code di PHP
Studi kasusnya disini saya akan membuat class induk yang bernama Animal dan memiliki turunannya atau Inheritance ke class Kucing. Lalu atribut dan method di dalam class Animal akan diterapkan Encapsulation.
Di dalam class animal memiliki 3 atribut yaitu $name, $weight dan $age. Lalu ada juga 3 method yaitu eat(), sleep() dan poop().
Oke kita langsung saja praktikan, pertama kita buat folder project baru dengan nama folder animal lalu buat file dengan nama animal.php Lalu paste kan code berikut
<?php
class Animal
{
protected $name;
protected $weight;
protected $age;
protected function dataAnimal()
{
echo 'Animal name is : ' . $this->name . '<br>';
echo 'Animal weight is : ' . $this->weight . 'Kg' . '<br>';
echo 'Animal age is : ' . $this->age . 'year' . '<br>';
}
protected function eat()
{
echo $this->name . ' is eating.';
$this->weight += 0.2;
echo '<br>';
echo 'weight kucing now is : ' . $this->weight;
}
protected function sleep()
{
echo $this->name . ' is sleeping.';
}
protected function poop()
{
echo $this->name . ' is pooping.';
$this->weight -= 0.1;
echo '<br>';
echo 'weight kucing now is : ' . $this->weight;
}
}
class Kucing extends Animal
{
public function getDataKucing(String $name, int $weight, int $age)
{
$this->name = $name;
$this->weight = $weight;
$this->age = $age;
return $this->dataAnimal();
}
public function kucingEat()
{
return $this->eat();
}
public function kucingPoop()
{
return $this->poop();
}
public function kucingSleep()
{
return $this->sleep();
}
}
Jika sudah kita buat lagi file baru dengan nama index.php lalu kita inisiasikan object di file tersebut seperti berikut
<?php
include 'animal.php';
$kucing = new Kucing();
$kucing->getDataKucing('Gojin', 5, 2);
echo '<br>';
$kucing->kucingEat();
echo '<br><br>';
$kucing->kucingPoop();
echo '<br><br>';
echo $kucing->kucingSleep();
Jika sudah kalian bisa coba jalankan di server local kalian, maka akan tampil output seperti berikut:
Nah okeh gimana bisa kalian coba? kalau bisa alhamdulillah, mungkin sekian dulu penjelasan dan contoh penerapan dari 2 pilar yang ada di OOP ini kalau ada yang kurang dimengerti atau kurang dipahami silahkan tanyakan di kolom komentar saja ya.
See you next post!

7 komentar untuk "Examples of Implementing Inheritance and Encapsulation in PHP"
include 'controller.php';
Coba di ganti menjadi
include 'animal.php';