Study
Swift

Inheritance di Swift

Penjelasan

Inheritance HANYA berlaku untuk class di Swift, bukan struct (salah satu alasan utama kenapa Swift membedakan keduanya). Class turunan (subclass) mewarisi property dan method dari class induk (superclass) lewat sintaks : NamaSuperclass. Method yang boleh di-override wajib ditandai override di subclass-nya, dan keyword super dipakai untuk memanggil constructor/method milik superclass.

Contoh Konsep

class Hewan {
    var nama: String

    init(nama: String) {
        self.nama = nama
    }

    func bersuara() -> String {
        return "\(nama) mengeluarkan suara."
    }
}

class Kucing: Hewan {
    override func bersuara() -> String {
        return "\(nama) berkata Meong!"
    }
}

let kucingku = Kucing(nama: "Milo")
print(kucingku.bersuara()) // Milo berkata Meong!

Praktikum

Buat class Kendaraan dengan property merek (diisi lewat init) dan method infoMerek() yang mengembalikan "Merek: {merek}". Buat class Motor yang : Kendaraan, override method infoMerek() untuk menambahkan kata " (Motor)" di akhir. Buat instance Motor dan tampilkan hasil infoMerek().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Karena struct TIDAK bisa diwarisi, Swift lebih sering memakai protocol (dibahas di materi berikutnya) untuk berbagi perilaku antar struct — inheritance class tetap dipakai, tapi lebih terbatas dibanding bahasa OOP tradisional.