Computerwissenschaften

Das Aliasing einer Methode in Ruby erfordert eine einfache Programmierung

Um einen Methoden- oder Variablennamen in Ruby zu aliasen, muss ein zweiter Name für die Methode oder Variable erstellt werden. Aliasing kann verwendet werden, um dem Programmierer mithilfe der Klasse aussagekräftigere Optionen bereitzustellen oder um Methoden zu überschreiben und das Verhalten der Klasse oder des Objekts zu ändern. Ruby bietet diese Funktionalität mit den Schlüsselwörtern „alias“ und „alias_method“.

Erstellen Sie einen zweiten Namen

Das Alias-Schlüsselwort akzeptiert zwei Argumente: den alten Methodennamen und den neuen Methodennamen. Die Methodennamen sollten im Gegensatz zu Zeichenfolgen als Beschriftungen übergeben werden. Beschriftungen werden verwendet, um auf Methoden und Variablen zu verweisen, ohne sie direkt zu referenzieren. Wenn Sie ein neuer Ruby- Programmierer sind, mag das Konzept der Beschriftungen seltsam erscheinen, aber wenn Sie eine Beschriftung wie „: Methodenname“ sehen, lesen Sie sie einfach als „das Ding namens Methodenname“. Im folgenden Beispiel wird eine neue Klasse deklariert und ein Alias ​​für die on-Methode namens start erstellt.

# / usr / bin / env ruby! 
Klasse Mikrowelle
def auf
puts "Die Mikrowellen - on ist"
Ende
Alias: Start: am
Ende
m=Microwave.new
m.start # gleiche wie m.on

Ändern Sie das Verhalten einer Klasse

Es kann vorkommen, dass Sie das Verhalten einer Klasse ändern möchten, nachdem sie deklariert wurde. Sie können einer vorhandenen Klasse einen Alias ​​hinzufügen und neue Methoden hinzufügen, indem Sie eine Deklaration der zweiten Klasse erstellen, die denselben Namen wie die vorhandene Klassendeklaration hat. Sie können einzelnen Objekten auch Aliase und Methoden hinzufügen, indem Sie eine Syntax verwenden, die der geerbten Klassensyntax ähnelt. Das Verhalten einer Klasse kann geändert werden, indem ein Alias ​​für eine beliebige Methode erstellt und anschließend eine neue Methode (mit dem ursprünglichen Methodennamen) erstellt wird, die die Methode mit dem Alias ​​aufruft.

Im folgenden Beispiel wird eine Mikrowellenklasse deklariert und eine Instanz erstellt. Die Deklaration der zweiten Klasse verwendet die Alias-Methode, um das Verhalten der „on“ -Methode zu ändern und eine Warnmeldung hinzuzufügen. Die Deklaration der dritten Klasse wird verwendet, um das Verhalten der spezifischen Mikrowelleninstanz zu ändern und eine noch strengere Warnung hinzuzufügen. Achten Sie beim mehrmaligen Aliasing einer Methode darauf, unterschiedliche Methodennamen zum Speichern der alten Methode zu verwenden.

#! / usr / bin / env rubyclass Microwave 
def on setzt "Microwave is on" end
endm=Microwave.newm.onclass Microwave alias: old_on1: on
def on setzt "Warnung: Keine Metallgegenstände einfügen!" old_on1 end
end
m.on
# Nachricht für diese bestimmte Mikrowellenklasse
setzt "Diese Mikrowelle ist schwach, zusätzliche Zeit hinzufügen"
old_on2
end
end
m.on # Zeigt zusätzliche Nachricht
m2=Microwave.new
m2.on # Zeigt keine zusätzliche an Botschaft

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.