Study
Swift

Protocol di Swift

Penjelasan

Protocol di Swift setara interface di bahasa lain — mendefinisikan kumpulan method/property yang WAJIB diimplementasikan tipe data yang menerapkannya lewat : NamaProtocol. Beda dari class, baik struct MAUPUN class bisa menerapkan protocol — ini jadi cara utama Swift mencapai polymorphism tanpa harus selalu memakai inheritance class.

Contoh Konsep

protocol Bentuk {
    func hitungLuas() -> Double
}

struct Lingkaran: Bentuk { // struct BISA menerapkan protocol
    var jariJari: Double

    func hitungLuas() -> Double {
        return 3.14 * jariJari * jariJari
    }
}

let lingkaranku = Lingkaran(jariJari: 7)
print(lingkaranku.hitungLuas())

Praktikum

Buat protocol Hewan dengan method bersuara() -> String. Buat struct Kucing yang : Hewan, method bersuara()-nya mengembalikan "Meong". Buat instance Kucing dan tampilkan hasil bersuara().

Editor Latihan

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

Tips

Karena struct tidak bisa inheritance tapi bisa menerapkan protocol, kombinasi "struct + protocol" adalah pola yang sangat dianjurkan komunitas Swift modern (disebut protocol-oriented programming) dibanding mengandalkan inheritance class.