Inheritance di Ruby
Penjelasan
Inheritance di Ruby memakai tanda < (mis. class Kucing < Hewan) — subclass otomatis mewarisi method dan instance variable dari superclass-nya. Keyword super dipakai untuk memanggil versi method milik superclass, bisa dengan argumen (super(nama)) atau tanpa kurung sama sekali (super, otomatis melewatkan semua argumen method saat ini).
Contoh Konsep
class Hewan
def initialize(nama)
@nama = nama
end
def bersuara
"#{@nama} mengeluarkan suara."
end
end
class Kucing < Hewan
def initialize(nama)
super(nama) # panggil constructor Hewan
end
def bersuara
"#{@nama} berkata Meong!"
end
end
kucingku = Kucing.new("Milo")
puts kucingku.bersuara # Milo berkata Meong!
Praktikum
Buat class Kendaraan dengan attr_reader :merek dan method info_merek yang mengembalikan "Merek: {merek}". Buat class Motor < Kendaraan, constructor-nya memanggil super(merek). Buat object Motor dan tampilkan hasil info_merek.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Ruby hanya mendukung single inheritance (satu class cuma bisa punya satu superclass langsung) — kalau butuh berbagi perilaku dari beberapa sumber sekaligus, pakai module lewat include (dibahas di materi berikutnya), bukan multiple inheritance.