Die erste Klasse
Endlich ist es soweit. Unsere erste Klasse.
class Personen
#1
def initialize (name) #2
@name = name #3
end
def gruessen #4
puts "Hallo #{@name}! Wie gehts?"
end
def verabschieden
puts "Tschau #{@name}! Schönen Tag noch."
end
end
- Dieses
class
ist die Einleitung zu der Definition einer Klasse. Danach kommt der Name der Klasse, in diesem Fall 'Personen'.
HINWEIS: Klassennamen werden IMMER groß geschrieben. def
ist die Einleitung zu einer neuen Methode. Die Methodeinitialize
ist auchnoch eine ganz besondere Methode.initialize
ist eine Methode, die immer dann ausführt wird, wenn ein neues Objekt in der Klasse erstellt wird. Das in den Klammern dahinter sind die Parameter oder Argumente. Wenn es eindeutig ist, das es Parameter sind, können die Klammern weggelassen werden- Der Code nach
def
wird ausgeführt, wenn die Methode aufgerufen wird.
@name ist eine Variable, die nur in dem Objekt gültig ist (siehe hier) - diese Methode ist ganz Normal. Sie wird später mit
Objekt.gruessen
aufgerufen
und die Objekte dazu
Nun erstellen wir ein paar Objekte der Klassen.
peter = Personen.new('Peter Kleber')
dirk = Personen.new('Dirk Dork')
peter.gruessen
dirk.gruessen
dirk.verabschieden
peter.verabschieden
Hallo Peter Kleber! Wie gehts?
Hallo Dirk Dork! Wie gehts?
Tschau Dirk Dork! Schönen Tag noch.
Tschau Peter Kleber! Schönen Tag noch.
- Erstellt ein neues Objekt und weißt es der Variable
peter
- Rufe die Methode
gruessen
für das Objekt auf, auf welches die Variablepeter
zeigt.
Vererbung
under construction