Sekarang kita akan membahas inheritance pada PHP. pertama-tama, tambahkan dulu method setName() yang bermodifier protected pada class Person.php yang sudah kita buat kemarin.

/* file: Person.php */
class Person{ /* ini nama class-nya */

private $name;
/* atribut name yang bermodifier private */

 function __construct($new_name){
  /* ini adalah konstruktor */
  $this->name=$new_name;
 }

 function getName(){
  /* ini adalah methodnya */
  return $this->name;
 }

 protected function setName($new_name){
  $this->name=$new_name;
 }

}

setelah itu, mari kita buat class Mahasiswa. class Mahasiswa ini nantinya akan menjadi class turunan dari class Person. keyword yang digunakan juga sama, yaitu extends. coba perhatikan sintaks dari file Mahasiswa.php berikut ini.

include('Person.php');
/* file ini membutuhkan file Person.php */
/* karena class ini turunan dari class
Person */

class Mahasiswa extends Person{
/* Mahasiswa turunan dari Person */

 private $nim;
 /* atribut nim yang bermodifier private */

 function Mahasiswa($nim, $nama){
  /* ini adalah konstruktor */
  /* nama konstruktor boleh sama
  dengan nama class-nya */
  $this->nim=$nim;
  $this->setName($nama);
 }

 function getNIM(){
  return $this->nim;
}

}

dan yang terakhir, modifikasi file index.php yang sudah dibuat kemarin menjadi seperti berikut ini.

include('Mahasiswa.php');

$bayu = new Mahasiswa('113078030','Bayu Rimba Pratama');
echo 'full name: '. $bayu->getName();
echo 'NIM: '. $bayu->getNIM();

pada file index.php di atas, kita menginstansiasi class Mahasiswa. method getName() yang telah didefinisikan pada class Person dapat dipanggil oleh objek yang merupakan instansiasi dari class Mahasiswa, karena Mahasiswa adalah turunan dari Person.

yup, segitu dulu ya.