Overloading

Assalamualaikum wr.wb Teman-teman

ketemu lagi nih saya di blog yang sama :v

Nah,di postingan kali ini aku bakal ngebahas Overloading langsung ke Pembahasanya ok.
Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya. Pada method overloading perbedaan parameter mencakup : Jumlah parameter. Tipe data dari parameter.
Terdapat empat property overloading pada PHP, Nah apa aja sih??
· set(), dijalankan ketika menulis data pada property yang tidak dapat diakses. Jadi, property ini digunakan untuk mengisi data ok.
· _get(), digunakan untuk membaca data dari property yang tidak diakses. Property ini akan mengembalikan/mengambil data yang telah diset tadi.
· _isset(), digunakan untuk menyatakan variabel sudah diset atau tidak. Jika variabel sudah diset makan variavel akan mengembalikan nilai true, sebaliknya akan bernilai false.
· _unset(), ini merupakan kebalikan dari _isset(). _unset() berfungsi untuk meng-unset variable atau mengosongkan data.
d Selanjutnya ada method di overloading, ada dua yaitu:
· _call(), method ini akan diakses saat object menjalankan method yang invisible atau tidak didefinisikan
· _callstatic(), method ini akan diakses jika kita menjalankan suatu static method yang invisible atau tidak didefinisikan
Berikut ini contohnya :


Nah, ini contoh nya saya ambil dari referensi dari teman :v.
Sekarang kita cobain studi kasusnya atau soal yang kita bahas hari ini.
· Buatlah interface class dengan nama GayaHidup dengan method berbicara, bernafas, berjalan dan makan.



· Implementasikan interface tersebut ke class Manusia dan Hewan. Buat minimal 2 objek Manusia dan Hewan yang berbeda


<?php
/**
  *
  */
 class Manusia implements GayaHidup
 {

  private $jenis_kelamin;
  private $nama;
  private $tanggal_lahir;

  function setJenisKelamin($jenis_kelamin)
  {
   $this->jenis_kelamin = $jenis_kelamin;
  }

  function getJenisKelamin()
  {
   return $this->jenis_kelamin;
  }
 
  function setNama($nama)
  {
   $this->nama = $nama;
  }

  function getNama()
  {
   return $this->nama;
  }

  function setTanggalLahir($tanggal_lahir)
  {
   $this->tanggal_lahir = $tanggal_lahir;
  }

  function getTanggalLahir()
  {
   return $this->tanggal_lahir;
  }

  public function bersuara()
  {
   return $this->nama;
  }

  public function usia()
  {
   $date = date_create_from_format("d/m/Y", $this->tanggal_lahir);
   $tahunLahir = $date->format('Y');
   $tahunSekarang = date('Y');
   $usia = $tahunSekarang - $tahunLahir;
   return $usia;
  }

  function __construct($nama, $jenis_kelamin, $tanggal_lahir)
 {
  $this->nama = $nama;
  $this->jenis_kelamin = $jenis_kelamin;
  $this->tanggal_lahir = $tanggal_lahir;
 }

  public function berbicara()
  {
   $nama = $this->nama;
   switch ($nama) {
    case 'Puja Rochmansyah': return 'Bahasa Korea';
    case 'M Fahru Rozi': return 'Bahasa Indonesia';
    case 'M Hafidz Fadilah': return 'Bahasa Inggris';
   }
  }

  public function bernafas()
  {
   echo "Menggunakan paru-paru";
  }

  public function makan()
  {
   $nama = $this->nama;
   switch ($nama) {
    case 'Puja Rochmansyah': return 'Pizza';
    case 'M Fahru Rozi': return 'Nasi Goreng';
    case 'M Hafidz Fadilah': return 'Ayam Geprek';
   }
  }

  public function berjalan()
  {
   echo "Menggunakan 2 kaki";
  }
 }
 ?>
Hewan :
<?php
/**
 *
 */
include 'KelompokMakan.php';
include 'GayaHidup.php';

class HewanPeliharaan extends KelompokMakan implements GayaHidup
{
 private $nama;
 private $jenis;

 function setNama($nama)
 {
  $this->nama = $nama;
 }

 function get_nama()
 {
  return $this->nama;
 }

 function setJenis($jenis)
 {
  $this->jenis = $jenis;
 }

 function get_jenis()
 {
  return $this->jenis;
 }

 public function bersuara()
 {
  $jenis = $this->jenis;
  switch ($jenis) {
   case 'Kucing': return 'Mengeong';
   case 'Kambing': return 'Mbe';
   case 'Singa': return 'Mengaung'; 
  }
 }

 function __construct($nama, $jenis, $makanan)
 {
  $this->nama = $nama;
  $this->jenis = $jenis;
  $this->makanan = $makanan;
 }

 public function berbicara()
 {
  $jenis = $this->jenis;
  switch ($jenis) {
   case 'Kucing': return 'meow';
   case 'Kambing': return 'mbeee';
   case 'Singa': return 'aurghh'; 
  }
 }

 public function bernafas()
 {
  echo "Menggunakan paru-paru";
 }

 public function makan()
 {
  $jenis = $this->jenis;
  switch ($jenis) {
   case 'Kucing': return 'Whiskas';
   case 'Kambing': return 'Rumput';
   case 'Singa': return 'Daging'; 
  }
 }

  public function berjalan()
  {
   echo "Menggunakan 4 kaki";
  }
}
 ?>
Nah, Hasil nya seperti Ini(maaf saya belum beres mendesain nya jadi seadanya dulu)


Kita lanjut ke HewanPeliharaan






















MakananHewan.php

<?php
/**
 *
 */
class KelompokMakan
{
 protected $makanan;

 public function jenis()
 {
  $makanan = $this->makanan;
  switch ($makanan) {
   case 'Capcay': return 'Omnivora';
   case 'Daging': return 'Karnivora';
   case 'Rumput': return 'Herbivora';
  }
 }
}
 ?>

Nah ini untuk memanggilnya:
<?php

include 'HewanPeliharaan.php';
include 'Manusia.php';


$hewan1 = new HewanPeliharaan("Kim", "Kucing", "Capcay");
$hewan2 = new HewanPeliharaan("Geby", "Kambing", "Rumput");
$hewan3 = new HewanPeliharaan("Simba", "Singa", "Daging");

$manusia1 = new Manusia("Puja Rochmansyah", "Perempuan", "21/04/2003");
$manusia2 = new Manusia("M Fahru Rozi", "Laki-laki", "09/09/2003");
$manusia3 = new Manusia("M Hafidz Fadilah", "Laki-laki", "31/07/2003");
?>

 <style type="text/css">
  body{
 font-family: 'Chilanka', cursive;
 color: white;
 background-image: url(background.jpeg);
 background-size: cover;
 background-attachment: fixed;
 font-size: 20px;
}
table{
 background-color: pink;
 color: white;
 border-color: white;
 width: 80%;
 height: 30%;
 margin-top: 80px;
}
h1{
 margin-top: 90px;
}
 </style>

 <h1 align="center">
Daftar Manusia</h1>
<table border="1" align="center">
<tr align="center">
   <td>Nama</td>
   <td>Jenis Kelamin</td>
   <td>Tanggal Lahir</td>
   <td>Usia</td>
   <td>Berbicara</td>
   <td>Bernafas</td>
   <td>Makanan</td>
   <td>Berjalan</td>
  </tr>
<tr align="center">
   <td><?php echo $manusia1->getNama(); ?></td>
   <td><?php echo $manusia1->getJenisKelamin(); ?></td>
   <td><?php echo $manusia1->getTanggalLahir(); ?></td>
   <td><?php echo $manusia1->usia(); ?></td>
   <td><?php echo $manusia1->berbicara(); ?></td>
   <td><?php echo $manusia1->bernafas(); ?></td>
   <td><?php echo $manusia1->makan(); ?></td>
   <td><?php echo $manusia1->berjalan(); ?></td>
  </tr>
<tr align="center">
   <td><?php echo $manusia2->getNama(); ?></td>
   <td><?php echo $manusia2->getJenisKelamin(); ?></td>
   <td><?php echo $manusia2->getTanggalLahir(); ?></td>
   <td><?php echo $manusia2->usia(); ?></td>
   <td><?php echo $manusia2->berbicara(); ?></td>
   <td><?php echo $manusia2->bernafas(); ?></td>
   <td><?php echo $manusia2->makan(); ?></td>
   <td><?php echo $manusia2->berjalan(); ?></td>
  </tr>
<tr align="center">
   <td><?php echo $manusia3->getNama(); ?></td>
   <td><?php echo $manusia3->getJenisKelamin(); ?></td>
   <td><?php echo $manusia3->getTanggalLahir(); ?></td>
   <td><?php echo $manusia3->usia(); ?></td>
   <td><?php echo $manusia3->berbicara(); ?></td>
   <td><?php echo $manusia3->bernafas(); ?></td>
   <td><?php echo $manusia3->makan(); ?></td>
   <td><?php echo $manusia3->berjalan(); ?></td>
  </tr>
</table>
<h1 align="center">
Daftar Hewan Peliharaan</h1>
<table border="1" align="center">
<tr align="center">
   <td>Nama</td>
   <td>Jenis Peliharaan</td>
   <td>Suara</td>
   <td>Jenis</td>
   <td>Berbicara</td>
   <td>Makan</td>
   <td>Bernafas</td>
   <td>Berjalan</td>
  </tr>
<tr align="center">
   <td><?php echo $hewan1->get_nama() ?></td>
   <td><?php echo $hewan1->get_jenis() ?></td>
   <td><?php echo $hewan1->bersuara() ?></td>
   <td><?php echo $hewan1->jenis() ?></td>
   <td><?php echo $hewan1->berbicara(); ?></td>
   <td><?php echo $hewan1->makan(); ?></td>
   <td><?php echo $hewan1->bernafas(); ?></td>
   <td><?php echo $hewan1->berjalan(); ?></td>
  </tr>
<tr align="center">
   <td><?php echo $hewan2->get_nama() ?></td>
   <td><?php echo $hewan2->get_jenis() ?></td>
   <td><?php echo $hewan2->bersuara() ?></td>
   <td><?php echo $hewan2->jenis() ?></td>
   <td><?php echo $hewan2->berbicara(); ?></td>
   <td><?php echo $hewan2->makan(); ?></td>
   <td><?php echo $hewan2->bernafas(); ?></td>
   <td><?php echo $hewan2->berjalan(); ?></td>
  </tr>
<tr align="center">
   <td><?php echo $hewan3->get_nama() ?></td>
   <td><?php echo $hewan3->get_jenis() ?></td>
   <td><?php echo $hewan3->bersuara() ?></td>
   <td><?php echo $hewan3->jenis() ?></td>
   <td><?php echo $hewan3->berbicara(); ?></td>
   <td><?php echo $hewan3->makan(); ?></td>
   <td><?php echo $hewan3->bernafas(); ?></td>
   <td><?php echo $hewan3->berjalan(); ?></td>
  </tr>
</table>

Dan ini hasil Akhir dari class HewanPeliharaan.



Nah,Mungkin ini saja yang kita bahas hari ini Jangan lupa untuk belajar lagi apabila ada kendala error maka janganlah berputus asa Harus tetap semangat ok see you di next materi ok
Wasallamualaikum wr. wb

Komentar

Postingan Populer