Diskon kelas baru hingga 25%! Masukkan kupon "lebihcepat" di kelas ini

X
Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

INHERITANCE

Pelajari konsep pewarisan (inheritance) dalam PHP untuk memperluas fungsionalitas kelas dengan cara yang efisien dan mudah.

Inheritance, atau dalam bahasa Indonesia disebut warisan, adalah konsep penting dalam pemrograman berorientasi objek yang termasuk dalam PHP. Melalui inheritance, kita dapat membuat suatu kelas yang mengambil sifat dan perilaku dari kelas lain. Ini mempermudah penyusunan kode yang berstruktur dan menghindari duplikasi.

Apa Itu Inheritance?

Inheritance memungkinkan sebuah kelas (yang disebut kelas anak atau subclass) untuk mewarisi properties dan methods dari kelas lain (yang disebut kelas induk atau superclass). Ini sangat memudahkan dalam kasus di mana kamu ingin membuat kelas baru yang sudah memiliki sebagian fungsionalitas dari kelas lain.

Memahami Superclass dan Subclass

Kelas induk adalah kelas yang memberikan warisannya, sedangkan kelas anak adalah kelas yang menerima warisan itu. Kelas anak dapat mengakses dan menggunakan properties dan methods dari kelas induk, serta menambahkan atau memodifikasi elemen-elemen sesuai kebutuhan.

Mengimplementasikan Inheritance

Untuk mengimplementasikan inheritance dalam PHP, kita menggunakan kata kunci extends. Berikut adalah contoh bagaimana caranya.

// Ini adalah kelas induk
class Kendaraan {
    public $kecepatan;

    public function setKecepatan($kecepatan) {
        $this->kecepatan = $kecepatan;
    }

    public function getKecepatan() {
        return $this->kecepatan;
    }
}

// Ini adalah kelas anak
class Sepeda extends Kendaraan {
    public $jumlahRoda = 2;
}

Dalam contoh di atas, kelas Sepeda mewarisi semua sifat dari kelas Kendaraan, termasuk properties dan methods-nya. Kelas Sepeda juga memiliki property tambahan yaitu $jumlahRoda.

Mengakses dan Meng-override Properties dan Methods

Kelas anak tidak hanya bisa mengakses, tetapi juga bisa meng-override atau menimpa properti dan metode dari kelas induk. Ini dilakukan dengan mendeklarasikan ulang mereka di dalam kelas anak dengan logika atau nilai yang berbeda.

class Sepeda extends Kendaraan {
    public $jumlahRoda = 2;

    // Override method getKecepatan
    public function getKecepatan() {
        return $this->kecepatan . " km/jam";
    }
}

Constructor dalam Inheritance

Kelas anak juga mewarisi konstruktor dari kelas induk. Namun, jika kelas anak memiliki konstruktor sendiri, PHP tidak secara otomatis menjalankan konstruktor kelas induk.

class Sepeda extends Kendaraan {
    public $jumlahRoda = 2;

    // Constructor khusus untuk kelas Sepeda
    public function __construct() {
        echo "Sepeda dibuat";
    }
}

Jika kamu ingin konstruktor kelas induk juga dijalankan, kamu harus secara eksplisit memanggilnya menggunakan parent::__construct();.

class Sepeda extends Kendaraan {
    public $jumlahRoda = 2;

    public function __construct() {
        parent::__construct(); // Memanggil constructor Kendaraan
        echo "Sepeda dibuat";
    }
}

Inheritance adalah konsep yang sangat berguna dalam pemrograman berorientasi objek PHP karena membantu kita untuk menulis kode yang lebih modular, mudah dikelola, dan mudah diperluas. Dengan menggunakan inheritance, kamu bisa meningkatkan produktivitas dan mengurangi jumlah kode yang duplikat.

👈🏼 Getter dan setter
Overriding metode 👉🏼