DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

ABSTRACT CLASS

Pelajari penggunaan kelas abstrak dalam PHP dengan penjelasan simpel dan contoh kode yang dapat dipahami dengan mudah.

Kelas Abstrak di PHP

Dalam pemrograman berorientasi objek (OOP), kelas abstrak adalah konsep penting yang membantu kita untuk mendefinisikan template untuk kelas-kelas lain. Di PHP, kelas abstrak tidak dapat diinstansiasi langsung, tetapi mereka menyediakan struktur yang harus diimplementasikan oleh kelas turunannya.

Apa itu Kelas Abstrak?

Sebuah kelas abstrak adalah kelas yang tidak lengkap dan memerlukan kelas lain untuk memberikan implementasi yang spesifik. Kelas abstrak digunakan sebagai dasar bagi kelas lain. Ini membantu untuk mendefinisikan metode abstrak yang harus diimplementasikan oleh semua turunan kelas tersebut.

Kapan Menggunakan Kelas Abstrak?

  • Ketika kamu ingin memiliki kelas dengan metode yang harus diimplementasikan oleh semua subkelas, tetapi implementasi tersebut bervariasi antar subkelas.
  • Ketika kamu ingin mencegah pembuatan objek dari kelas dasar.
  • Ketika kamu ingin mengatur standar tertentu untuk sejumlah kelas yang berbeda.

Membuat Kelas Abstrak

Untuk membuat kelas abstrak di PHP, kamu menggunakan kata kunci abstract sebelum kata class. Berikut adalah contoh sederhana dari kelas abstrak dan cara penggunaannya.

abstract class Kendaraan {
    protected $kecepatan;

    // Constructor untuk kelas abstrak
    public function __construct($kecepatanAwal) {
        $this->kecepatan = $kecepatanAwal;
    }

    // Metode abstrak
    abstract public function jalan();

    // Metode non-abstrak
    public function getKecepatan() {
        return $this->kecepatan;
    }
}

// Kelas turunan dari kelas abstrak
class Mobil extends Kendaraan {
    // Implementasi dari metode abstrak
    public function jalan() {
        return "Mobil ini berjalan dengan kecepatan " . $this->getKecepatan() . " km/jam.";
    }
}

// Instansiasi objek dari kelas Mobil
$mobil = new Mobil(50);
echo $mobil->jalan(); // Output: Mobil ini berjalan dengan kecepatan 50 km/jam.

Metode dan Properti pada Kelas Abstrak

Sebuah kelas abstrak bisa mengandung properti dan metode seperti kelas biasa. Namun, metode abstrak yang didefinisikan di kelas abstrak harus dideklarasikan tanpa tubuh dan harus diimplementasikan di kelas turunan.

Contoh Lain Kelas Abstrak

Mari kita buat contoh yang lebih kompleks dengan menambahkan beberapa kelas turunan lagi:

abstract class Hewan {
    protected $nama;

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

    abstract public function suara();

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

class Kucing extends Hewan {
    public function suara() {
        return "Meong";
    }
}

class Anjing extends Hewan {
    public function suara() {
        return "Guk guk";
    }
}

$kucing = new Kucing("Luna");
$anjing = new Anjing("Max");

echo $kucing->suara(); // Output: Meong
echo $anjing->suara(); // Output: Guk guk

Dalam kedua contoh di atas, kelas abstrak memberikan kerangka dasar untuk kelas turunannya, memaksa mereka untuk mengimplementasikan metode tertentu sementara masih menyediakan fungsionalitas umum yang bisa dibagi antara semua subkelas.

Kelas abstrak adalah alat yang berguna untuk membangun hierarki kelas yang rapi dan terstruktur dengan mengamanatkan metode tertentu yang harus ada dalam semua kelas turunan, sehingga menambah tingkat abstraksi yang dapat membuat kode lebih fleksibel dan mudah untuk di-maintain.

👈🏼 Interface class
Polimorfisme 👉🏼