OOP - Fungsi Overloading

Belajar OOP PHP - Fungsi Overloading in PHP

Belajar PHP - Fungsi overloading yaitu memungkinkan kita membuat nama function yang sama namun dengan tugas yang berbeda sesuai dengan jumlah argumen.

Sebagai contoh, kita akan mencari keliling atau luas dari bentuk tertentu, dengan ketentuan jika yang diberikan hanya nilai radiusnya saja (berisi 1 argumen) maka akan menghitung keliling lingkaran, namun apabila yang dimasukan nilai tinggi dan lebar (berisi 2 argumen) maka akan menghitung luas persegi panjang.

Kita akan menggunakan magic function __call(). Fungsi ini mengambil nama fungsi dan argumen.

<?php 
class Bentuk { 
 // magic function __call akan menerima 
        // nama function dan argumen 
 function __call($name_of_function, $arguments) { 
  if($name_of_function == 'area') {    
   switch (count($arguments)) { 
    // jika hanya 1 argumen 
    // hitung keliling lingkaran
    case 1: 
     return 3.14 * $arguments[0];
                                        break;      
    //  jika ada 2 argumen
    // hitung luas persegi panjan 
    case 2: 
     return $arguments[0]*$arguments[1]; 
                                        break;
   } 

  } 

 } 

} 

// instansiasi objek 
$s = new Bentuk; 

// area adalah nama function 
// dengan 1 argumen dengan nilai 2
// maka akan menghitung lingkaran
echo($s->area(2)); 
echo "<br/>"; 

// area adalah nama function 
// dengan 2 argumen dengan nilai 4 dan 2
// maka akan menghitung persegi panjang
echo ($s->area(4, 2)); 

?>

Referensi:
https://www.geeksforgeeks.org/function-overloading-and-overriding-in-php/

Posting Komentar

0 Komentar