Rabu, 04 Mei 2016

Belajar Object Oriented Programming (OOP) PHP, Abstract Class dan Abstract Method


 Abstract Class dan Abstract Method PHP




Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi sebuah objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstract class umumnya akan mempunyai setidaknya satu abstract method.
Abstract Method adalah sebuah ‘method dasar’ yang harus diimplementasikan ulang di dalam class anak (child class). Abstract method sebuah method yang tidak memiliki atau mempunyai body (yang hanya mendeklarasikan method jasa), Abstract method ditulis tanpa isi dari method, melainkan hanya ‘signature’-nya saja. Signature dari sebuah method adalah bagian method yang terdiri dari nama method dan parameternya (jika ada).

Abstract class digunakan di dalam inheritance (pewarisan class) untuk ‘memaksakan’ implementasi method yang sama bagi seluruh class yang diturunkan dari abstract class. Abstract class digunakan untuk membuat struktur logika penurunan di dalam pemrograman objek.
Konsep abstract class dan abstract method akan lebih mudah dipahami dengan menggunakan contoh yang ada di bawah.


contoh =
Misalkan kita ingin membuat class yang terdiri dari berbagai jenis-jenis Hewan seperti class Kucing, class Anjing, class Kambing, dan lain-lain. Seluruh class ini tentunya memiliki sifat-sifat Hewan, seperti memiliki Suara, memiliki Bulu, memiliki kaki, memiliki buntut/ekor, dan membutuhkan Makanan. Dalam implementasinya, kita bisa membuat seluruh class ini diturunkan dari class hewan. dan bisa dengan contoh yang  lainnya.
seperti contoh gambar pada di bawah.





Abstract class memiliki aturan yang membedakannya dengan class biasa. Kita akan membahas aturan-aturan tersebut dengan menggunakan contoh program PHP.




Cara Membuat Abstract Class

Karena kita ingin membuat class komputer sebagai abstract class, maka berikut adalah cara penulisannya di dalam PHP:

<?php
abstract class hewan {
   // isi dari class hewan
}
?>

Untuk membuat abstract class di dalam PHP, kita tinggal menambahkan keyword abstract sebelum nama class. Sebuah abstract class bisa memiliki property dan method biasa layaknya sebuah class ‘normal’, namun juga bisa memiliki abstract method.


Cara Membuat Abstract Method
Jika sebuah method dinyatakan sebagai abstract method, maka kita tidak perlu membuat isi methodnya, tetapi hanya signature dari method tersebut. Signature terdiri dai nama method dan parameternya (jika ada) seperti contoh berikut:

abstract public function lihat_buntut();
abstract public function lihat_buntut($ekor);

Kenapa kita tidak perlu membuat isi dari method? Ini karena jika sebuah method dinyatakan sebagai abstract method, isi dari method tersebut akan dibuat dalam class turunan. Abstract method harus berada di dalam abstract class.
Sebagai contoh, berikut adalah cara penulisan abstract method lihat_buntut() di dalam abstract class hewan:

<?php
abstract class hewan {
   abstract public function lihat_buntut();
}
?>

Perhatikan bahwa kita tidak perlu (baca:tidak bisa) membuat isi dari abstract method.


Fungsi Abstract Class dan Abstract Method
Abstract class dan abstract method berfungsi untuk membuat ‘kerangka’ bagi seluruh class dibawahnya. Seperti contoh-contoh kita diatas, setiap class yang diturunkan dari class hewan.


Tidak ada komentar:

Posting Komentar