Informationen zu Ruby-Klassen und -Instanzen

Programmierstudientagebuch

  1. Juli 2020 Progate Lv.175 RubyⅣ

Klassen und Instanzen

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.

Klassendefinition

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

Instanzgenerierung

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"

Verwenden Sie Methoden im Unterricht

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

Instanzmethode

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ü

Verwenden Sie Instanzvariablen in Instanzmethoden

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

Methode initialisieren

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

Variable der Initialisierungsmethode

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

Informationen zu Ruby-Klassen und -Instanzen
[Ruby] Klassen und Instanzen
Über Klassen und Instanzen
Ruby-Klassen und -Instanzen
Über Klassen und Instanzen (Evolution)
Überlegungen zu Klassen und Instanzen
Erstellen von Ruby-Klassen und -Instanzen
Unterschiede zwischen Klassen und Instanzen in Ruby
Schreiben Sie Code mit Ruby-Klassen und -Instanzen
Java (Klasse und Instanz)
Erste Schritte mit Java_Kapitel 8_Über "Instanzen" und "Klassen"
Über Ruby-Hashes und -Symbole
Über Ruby und Objektmodell
[Ruby] Singuläre Methoden und singuläre Klassen
Ruby-Methoden und -Klassen (grundlegend)
Über Ruby einfache Anführungszeichen und doppelte Anführungszeichen
[Ruby] Klassen, Instanzvariablen, Instanzen usw.
Organisieren Sie Klassen, Instanzen und Instanzvariablen
Informationen zum Ruby-Produktoperator (&) und zum Summenoperator (|)
Über objektorientierte Vererbung und über Ertrag Ruby
Klassen und Instanzen Java für Anfänger
Über Ruby-Symbole
Java-Programmierung (Klassen und Instanzen, Hauptmethoden)
Über die Standardklasse
Über Ruby-Arrays
Informationen zur Ruby-Vererbung
Über Ruby Hash
Über Ruby-Symbole
Vergleich von JavaScript-Objekten und Ruby-Klassen
Rubin und Edelstein
Über Ruby-Methoden
Über Rubys Kernel-Modul
Informationen zu Ruby-Fehlermeldungen
Symbole und zerstörerischer Rubin
HashMap- und HashSet-Klassen
Über Ruby Hash (Fortsetzung)
String-Literale und Instanzen
Über Bean und DI
[Java] Über anonyme Klassen
Über bekommt und bekommt.chomp
Über Weiterleiten und Weiterleiten
Ruby-Vererbung und -Delegierung
Über Kapselung und Vererbung
Liste und fröhliche Klassen
Informationen zu Serializable und serialVersionUID
Über Logik nachdenken Ruby
[Ruby] Ich habe über den Unterschied zwischen each_with_index und each.with_index nachgedacht
Eine grobe Anmerkung zu Ruby-Arrays und Hash-Objekten
[Technisches Memo] Über die Vor- und Nachteile von Ruby