Klassen definierst du mit class ... end. Der Konstruktor heißt initialize; Instanzvariablen beginnen mit @. attr_reader, attr_writer und attr_accessor erzeugen Getter und Setter. Mit < erbst du (class Hund < Tier). Module bündeln Methoden, die du per include einmischst (Mixins).
Ein Objekt erzeugst du mit Klasse.new.
class Konto
attr_reader :stand
def initialize(inhaber)
@inhaber = inhaber
@stand = 0
end
def einzahlen(betrag)
@stand += betrag if betrag > 0
end
end
k = Konto.new("Mia")
k.einzahlen(50)
puts k.stand # 50
class Tier; def laut = "..."; end
class Hund < Tier; def laut = "Wuff"; end
puts Hund.new.lautMerke
initializeist der Konstruktor@namefür Instanzvariablenattr_readererzeugt Getter
Aufgabe
Ergänze `abheben` mit einer Prüfung auf ausreichenden Stand.