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

Abstract Class dan Abstract Method dalam object oriented

Abstrak class merupakan sebuah class yang tidak dapat di instansiasi (tidak biasa di buat menjadi objek) dan berperan sebagai kerangka dasar pada setiap turunannya. Di dalam abstrak class pasti mempunyai abstrak metod.

Abstrak method merupakan metod dasar yang di implementasikan oleh child class (class anak). Abstak method di isi dengan signatur tanpa isi dari method. Signatur dari sebuah method merupakan bagian yang terdiri dari method dan parameternya.

Cara menulis abstrak class dengan PHP

Yang akan gua contoh kan disini adalah membuat abstrak class motor


<php

abstract_class motor{

//isi dari class motor

}

?>
Membuat abstract class kita tinggal menambahkan keyword abstract sebelum nama class. Sebuah class dapat memiliki property dan method seperti class lainnya(normal), abastract class juga bisa di isi dengan abstract method.



Cara menulis abstrak method dengan PHP

Abstract method tidak perlu membuat isi sebuah method, tetapi hanya signature. Signatur terdiri dari method dan parameternya.contohnya sebagai berikut :


abstract public function lihat_motor;//tanpa parameter
abstract public function lihat_motor($merek);//dengan parameter
Abstract method tidak perlu membuat isi dari method dan abstract method harus di dalam abstract class.

Gua akan berikan contoh abstract class dan abstract method, contoh sebagai berikut :


<?php

abstract class function motor{

abstract public function lihat_motor($merek);

}

?>
Abstract class tidak bisa di instansasikan.

Abstract class digunakan hanya sebagai “blue print” untuk class lain sesuai dengan sifatnya tidak bisa digunakan langsung. Contohnya sebagai berikut:


<?php

abstract class motor{

abstract public function lihat_motor($merek);

}

$new_motor = new motor();

?>
Jika di jalankan maka script akan erorr, karna diatas script mencoba membuat object class dari abstract class. Untuk menggunakan class motor harus terlebih dahulu menurunkan ke class lain.


Abstract Class Bisa Memiliki Property dan Method “normal”.

Seperti yang telah gua jelasin sebelumnya abstract class bisa memiliki property dan method “normal” sperti class biasa. Tapi hanya bisa diaksess oleh class turunan. Contohnya sebagai berikut :


<?php

//membuat abstrak class terlebih dahulu

abstract class motor{

//membuat abstract method

abstract public function lihat_motor($merek);

//membuat method

public function hidupkan_motor(){

echo “Hidupkan Motor”;

}

}

?>
Implementasi Class Turunan Dalam Abstrack Method

Abstract class akan diturunkan ke class dengan catatan class tersebut harus membuat ulang sluruh abstract method yang terdapat dari abstract class dan harus sesuai signature nya, contohnya sebagai berikut :


<?php

//membuat abstrak class terlebih dahulu

abstract class motor{

 

//membuat abstract method

abstract public function lihat_motor($merek);

}

class mobil extends motor{

public function nyalakan_motor(){

Return “Motor Menyala”;

}

}

?>
Ketika dijalankan pasti error “Fatal eror bla bla bla”, karena script diatas gua menurunkan class motorke class mobil. Karna class motor merupakan abstrack method lihat_motor().maka di class mobil akan membuat ulang method tersebut. Kita coba perbaiki script di atas hayu cekidot.


<?php

//membuat abstrak class terlebih dahulu

abstract class motor{

 

//membuat abstract method

abstract public function lihat_motor($merek);

}

class mobil extends motor{

 

public function lihat_motor(){

return “Motor Menyala”;

}

//buat method normal

public function nama_mobil(){

return ‘avanza mobil rakyat indonesia’

}

}

//membuat object dari class mobil

new_mobil = new mobil();

echo $new_mobil = lihat_motor();

//lihat nama mobil

</br>

echo $new_mobil->nama_mobil();

?>
Dalam script di atas method lihat_motor di implementasikan dalam class mobil . Fungsi dari abstract method yaitu memaksa setiap turunan untuk memiliki method lihat_mobil().

Abstract method mengimplementasinya harus sesuai dengan signaturnya, yakni nama method beserta parameter.

Cara abstract class memiliki static method

Abstract class merupakan salah satu class yang mempunyai fitur khusus yaitu bisa memiliki static method. Berikut ini gua kasih contohnya :


<?php

//buat terlebih dahulu abstract class

abstract class motor{

//buat abstract methodnya

abstract public function merk_motor($nama_motor);

 

public static function harga_motor(){

echo “Harga 10.000”;

}

}

 

echo motor::harga_motor();

?>
Fungsi Abstaract Class dan Abstract Method

Abstract class dan Abstract method mempunyai fungsi membuat krangka untuk class dibawahnya seperti yang saya contohkan di script di atas. Jika class motor maka methodnya yaitu merk_motor.



Gua akan coba contohkan script yang sederhana yang dimana script abstract_methodnya hanya 1. Contohnya sebagai berikut :


<?php

//buat abstract class seperti dahulu.

abstract class motor{

abstract public function nama_motor();

abstract public function jenis_motor();

abstract public function harga_motor();

abstract public function cc_motor();

}

 

class mobil extends motor{

//isi dengan class mobil

}

 

class pesawat extends motor{

//isi dengan class pesawat

}

class kapal extends motor{

//isi dengan class kapal

}

?>
Motor merupakan class abstract

0 Response to "Abstract Class dan Abstract Method PHP Object Oriented Programming (OOP)"

Posting Komentar