In diesem Abschnitt werden Klassen und Instanzen kurz beschrieben. Um durch Programmieren ein "Ding" zu erstellen, das als Menü bezeichnet wird, ist zunächst die Konstruktionszeichnung erforderlich. Die Entwurfszeichnung wird als Klasse bezeichnet, und das "Ding" wird als Instanz bezeichnet. (Erstellen Sie ein "Ding" (Instanz) basierend auf der Entwurfszeichnung (Klasse).) Bereiten Sie also eine Klasse zum Erstellen einer Instanz vor, erstellen Sie eine Instanz aus der Klasse und fügen Sie der Instanz Informationen hinzu.
Klassen können mit "Klassenklassenname" definiert werden. Stellen Sie sicher, dass Sie die Klasse mit Großbuchstaben beginnen, und denken Sie daran, "end" zu schreiben. </ font>
index.rb
class Menu
end
attr_accessor Diejenige, mit der Sie die Instanzvariable direkt ändern und bedienen können. Schreiben Sie "attr_accessor symbol", um Informationen zu erhalten. Sie können auch mehrere Instanzvariablen für eine Klasse verwenden.
index.rb
class Menu
attr_accessor :name
end
Verwenden Sie class name.new
, um eine neue Instanz basierend auf der Klasse zu erstellen. Die generierte Instanzvariable kann durch Setzen von "Variablenname = Klassenname.neu" zugewiesen werden.
Um einer Instanz Informationen zu geben, weisen Sie der von der Klasse vorbereiteten Instanzvariablen einen Wert zu. Sie können einen Wert in einer Instanzvariablen mit "instance.variable name = value" festlegen.
index.rb
class Menu
#wird bearbeitet
end
#Erstellen Sie eine Instanz aus der Menüklasse und weisen Sie sie der Variablen menu1 zu
menu1=Menu.new
menu1.name="Sushi"
Die in der Klasse definierten Methoden werden so aufgerufen, wie sie für die Instanz verwendet werden. Aufruf mit instance.method name
. Eine Methode, die eine in einer Klasse definierte Methode aufruft, wird als Instanzmethode bezeichnet.
index.rb
class Menu
attr_accessor :name
attr_accessor :price
#Definieren Sie eine Methode in einer Klasse
def show
puts "menu"
end
end
menu1=Menu.new
#Aufruf einer in einer Klasse definierten Methode
menu1.show
Konsole
menu
Eine Methode zum Aufrufen einer in einer Klasse definierten Instanz. Es kann Argumente akzeptieren und Werte zurückgeben. Die "Instanzvariable", die die Informationen der Instanz enthält, und die Instanzmethode, die für die Instanz aufgerufen wird, werden in der Klasse definiert.
index.rb
class Menu
#wird bearbeitet
def show(data)
return "#{data}ist"
end
end
menu1=Menu.new
puts menu1.show("Speisekarte")
Konsole
Es ist ein Menü
Instanzvariablen können behandelt werden, indem eine spezielle Variable "self" in der Instanzmethode verwendet und auf "self.variable name" gesetzt wird. In der Instanzmethode wird die aufgerufene Instanz selbst der Variablen "self" zugewiesen.
index.rb
class Menu
#wird bearbeitet
def show_name
puts "#{self.name}ist"
end
end
menu1=Menu1.new
menu1.name="Sushi"
#Aufruf der Instanzmethode
menu1.show_name
Konsole
Es ist Sushi
Die Verarbeitung kann unmittelbar nach dem Erstellen einer Instanz ausgeführt werden. Wird automatisch sofort nach dem Erstellen einer Instanz mit dem Klassennamen "new" aufgerufen.
index.rb
class Menu
#wird bearbeitet
def initialize
puts "Speisekarte"
end
end
#Menu.Rufen Sie die Initialisierungsmethode automatisch auf, wenn new ausgeführt wird
menu1=Menu.new
Konsole
Speisekarte
In der Instanzmethode können Sie die Instanzvariable mit "self.variable name" behandeln und den Wert der Instanzvariablen mit "self.variable name = value" zuweisen.
index.rb
class Menu
#wird bearbeitet
def initialize
self.name="Sushi"
end
end
menu1=Menu.new
puts menu1.name
Konsole
Sushi
Sie können auch Argumente an die Initialisierungsmethode übergeben. Sie können den Wert übergeben, indem Sie ein Argument an "class.new" übergeben. Natürlich können auch Schlüsselwortargumente verwendet werden.
index.rb
class Menu
#wird bearbeitet
def initialize(message)
puts message
end
end
menu1=Menu.new("Hello")
Konsole
Hello
require Lesen Sie die Datei. (Wird verwendet, wenn die Hauptanweisung getrennt ist und Sie eine Klasse in einer anderen Datei lesen möchten.)
index.rb
requie "./menu"
menu1=Menu.new(name: "Sushi"
menu.rb
class Menu
attr_accessor :name
attr_accessor :price
end
gets.chomp
Wird beim Akzeptieren von Eingaben verwendet. Wenn dieser Code ausgeführt wird, geht die Konsole in einen Wartezustand für Eingaben über. Durch Setzen von variable = gets.chomp
kann der Eingabewert der Variablen zugewiesen werden, bis die Eingabetaste gedrückt wird.
index.rb
puts "Name eingeben"
name=gets.chomp
puts "Wie heißen Sie#{name}ist"
Konsole
Name eingeben
Tanaka (eintreten)
Sie heißen Tanaka
Wenn Sie eine Nummer erhalten möchten, können Sie die Eingabe mit gets.chomp.to_i
in eine Nummer umwandeln.
index.rb
puts "Zahlen eingeben"
number=gets.chomp.to_i #Konvertieren Sie den eingegebenen Inhalt in einen numerischen Wert
puts "#{number}Zweimal#{number*2}ist"
Recommended Posts