Penggunaan fungsi ABTRACT pada PHP

Halo teman-teman pada tutorial kali ini saya akan membahas tentang Cara Penggunaan Fungsi Final dan Abstract pada OOP, Fungsi Final dan Abstract pada OOP  yaitu untuk membuat sebuah kerangka kerja yang lebih rapi dan terstruktur, nah yang pertama kita akan bahas terlebih dahulu yaitu fungsi dari Final.

Dalam membuat sebuah class, kita sering menurunkan sebuah class kepada class lain, atau yang biasa kita kenal dengan inheritance/pewarisan. Di dalam pemrograman object kita juga diperbolehkan untuk menimpa method milik parent class dan method milik child class, dan proses tersebut disebut sebagai overridden method.  overridden method ini dapat dilakukan dengan cara membuat sebuah nama method yang sama dengan mana method yang ada di dalam parent class.

Nah jika kita menggunakan fungsi Final, tidak dibolehkan atau melarang sebuah class untuk dapat diturunkan, dan jika kita memberikan sebuah keyword final pada sebuah class maka class tersebut akan terjadi error, untuk contoh scriptnya teman-teman bisa simpan script dibawah ini dengan nama final.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<?php

// parent

finalclassMobil{

public$merk='mini bus';

protected$harga=150000000000;

private$nama='Avanza';

}

// child

classHargaextendsMobil{

publicfunctioncetak_harga(){

//akses property

return$this->harga;

}

publicfunctioncetak_nama(){

return$this->nama;

}

}

classSedanextendsMobil{}

classBusextendsMobil{}

// object

$tampil=newHarga;

echo $tampil->merk;

echo'<br>';

echo$tampil->cetak_harga();

echo'<hr>';

$cetak=new Sedan;

echo$cetak->merk;

Jika kita jalankan pada browser maka akan terlihat sebuah pesan error seperti dibawah ini, yang melarang kita untuk menurunkan class Mobil yang terdapat pada script diatas, karana telah di set sebagai final class

Penggunaan fungsi ABTRACT pada PHP

Berikutnya kita akan bahas tentang Abstract Class dan Abstract Method, merupakan sebuah class yang dapat di-instansiasi atau yang dapat di gunakan dan dapat dibuat menjadi sebuah object yang berperan sebagai kerangka dasar bagi class turunan, di dalam abstract class kita harus wajib memiliki class abstract method.

Abstract method yaitu merupakan sebuah method dasar yang harus di implementasikan ulang di dalam class anak (child class). Abstract class digunakan dalam inheritance/pewarisan, yang berfungsi untuk mewajibkan implementasi method yang sama dari semua method yang akan diturunkan dari abstract class, dan abstract class digunakan untuk membuat sebuah struktur logika penurunan didalam sebuah pemrograman berbasis object.

Berikut contoh dari abstract class

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<?php

// parent

abstractclassHandpone{

public$merk='Sumsung';

protected$harga=5000000;

private$nama='S7';

abstractpublicfunctionhallo();

}

// child

classTablet extendsHandpone{

publicfunctioncetak_harga(){

//akses propertydari class parend

return$this->harga;

}

publicfunctioncetak_nama(){

return$this->nama;

}

// harus di deklarasikan ulang, jika tidak akan terjadi error

publicfunction hallo(){

}

}

classhpextendsHandpone{

// deklarasi

publicfunctionhallo(){

}

}

classSmartphoneextendsHandpone{

//deklarasi

publicfunctionhallo(){

}

}

// object tablet

$tampil= newTablet;

echo$tampil->merk;

echo'<br>';

echo$tampil->cetak_harga();

echo'<hr>';

$cetak=newhp;

echo$cetak->merk;

Pada contoh study kasus diatas terdapat sebuah abstract class Handphone maka kita wajib menurunkanya kepada class anak, jika kita telah membuat abstract method kita juga wajib membuat nama method yang sama pada anaknya (child)

Jika kita jalankan pada browser maka akan terlihat hasilnya seperti dibawah ini

Bagai mana teman cukup mudah bukan Cara Penggunaan Fungsi Final dan Abstract pada OOP nya, sekian dulu tutorial saya kali ini tentang Cara Penggunaan Fungsi Final dan Abstract pada OOP, Semoga bermanfaat.

Terimakasih.

Apa itu abstract class pada PHP?

Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai 'kerangka dasar' bagi class turunannya. Di dalam abstract class umumnya akan memiliki abstract method.

Apakah yang dimaksud abstract method?

Abstract method adalah method yang tidak memiliki body (hanya deklarasi method) memiliki body (hanya deklarasi method). Abstract class tidak bisa dibuat obyeknya. Obyek hanya bisa dibuat dari non-abstract class (concrete class).

Kapan Dalam kondisi apa sebuah class abstract dibuat?

Abstract class dibuat ketika adanya hal yang cukup kompleks terjadi di saat pendefinisian di tahap awal pembangunan program.

Apa itu abstract class dalam OOP?

Class abstrak adalah class yang masih dalam bentuk abstrak. Karena bentuknya masih abstrak, dia tidak bisa dibuat langsung menjadi objek. Sebuah class agar dapat disebut class abstrak setidaknya memiliki satu atau lebih method abstrak.

Apa fungsi Abstract?

Fungsi abstrak adalah memudahkan pembaca untuk memahami karya tulis secara garis besar. Abstrak merupakan bagian penting dari suatu karya ilmiah karena ini merupakan bagian yang pertama kali dibaca oleh pembaca atau penguji.

Apakah yang dimaksud abstract method?

Abstract method adalah method yang tidak memiliki body (hanya deklarasi method) memiliki body (hanya deklarasi method). Abstract class tidak bisa dibuat obyeknya. Obyek hanya bisa dibuat dari non-abstract class (concrete class).

Apa itu abstrak dalam pemrograman?

Dalam ilmu komputer, abstraksi adalah proses representasi data dan program dalam bentuk sama dengan pengertiannya (semantik), dengan menyembunyikan rincian / detail implementasi. Abstraksi mencoba menyembunyikan detail agar programmer dapat berfokus pada konsep tertentu saja pada satu waktu.

Kapan atau dalam kondisi apa perlu dibuat class abstrak?

Abstract class dibuat ketika adanya hal yang cukup kompleks terjadi di saat pendefinisian di tahap awal pembangunan program.