Study
Ruby

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.

Editor Latihan

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.