· ICH ・ Erfahrung in Java und C #
・ Die Informationsmenge ist enorm. Wenn Sie der Meinung sind, dass die Informationsmenge zu groß ist und Sie sie in der Reihenfolge von oben (während Sie geschäftlich tätig sind) ausführen, wird sie nicht enden. ・ Obwohl es bereits einen ähnlichen Artikel gibt, habe ich beschlossen, in meinen eigenen Worten ein "wörterbuchähnliches" zu erstellen: "Dies ist in Java".
・ * Genau genommen ist es vielleicht nicht gleich, aber es gibt ein leichtes Gefühl, dass es mit dem Gefühl gepostet wird, dass es das ist, wenn Sie es erzwingen. ・ ※ Ich möchte, dass Sie darauf hinweisen, wenn es etwas gibt, bei dem "das Verständnis falsch ist", weil Sie lernen.
Da das Volumen zu diesem Zeitpunkt klein ist, ist auch das für Ruby einzigartige Konzept enthalten.
initialize -Initialize-Methode (die erste Methode, die beim Erstellen einer Instanz aufgerufen wird) ・ ** Konstruktor in Java ** ・ Siehe ** test.rb ** </ font>
attr_accessor ・ Accessor-Methode ・ ** Lombok in Java (Frühling) (derjenige, der in der Bibliothek zum Definieren von Getter / Setter in der Klasse enthalten ist) **
** Zum Definieren von Instanzvariablen ** ・ Siehe ** test.rb ** </ font>
self ・ ~~ T Wird auf verschiedene Arten verwendet ~~ ・ Was Selbst wird, hängt davon ab, wo Selbst verwendet wird -Verwendet bei der Angabe von Variablen und Methoden innerhalb der Klasse (** Klassenvariablen verwenden @@ später beschrieben **)
Geben Sie das von attr_accessor angegebene Feld an
-Es ist auch möglich, den Aufrufer der Methode anzuzeigen (description
Methode in ** test.rb **
・ ** Dies ** in Java
・ Siehe ** test.rb ** </ font>
test.rb
class Car
#Objektvariablen (Werte)
# type(Auto Typ),weight(Gewicht),user(Nutzer)
attr_accessor :type,:weight,:user
#Spezielle Methode zur Initialisierung
def initialize
self.type = 'SUV'
self.weight = 2500
end
#Objektmethode (Verarbeitung)
def description(user)
puts "Hallo#{user},Dieser Autotyp ist#{type},Gewicht ist#{power}ist."
end
end
#Erstellen Sie eine Instanz und weisen Sie sie einer Variablen zu
Car_A = Car.new
Car_A.description('ich')
p Car_A
・ Die an die Instanzvariable angehängte ・ Stimmen Sie der Java-Instanzvariablen zu * 1)
test2.rb
class Car
#Objektvariablen (Werte)
# type(Auto Typ),weight(Gewicht),user(Nutzer)
attr_accessor :type,:weight,:user
#Spezielle Methode zur Initialisierung
def initialize
@type = 'SUV'
@weight = 2500
end
#Objektmethode (Verarbeitung)
def description(user)
puts "Hallo#{user},Dieser Autotyp ist#{@type},Gewicht ist#{@power}ist."
end
end
#Erstellen Sie eine Instanz und weisen Sie sie einer Variablen zu
Car_A = Car.new
Car_A.description('ich')
p Car_A
・ Die an die Klassenvariable angehängte -Kann in Klassen und Instanzen verwendet werden ・ Werte werden geteilt ・ Siehe ** test3.rb ** </ font>
test3.rb
class Test
@@class_var = 0
def foo
@@class_var += 1
p @@class_var
end
def self.hoge
@@class_var += 1
p @@class_var
end
end
test = Test.new
#Werte werden in derselben Instanz geteilt
test.foo # => 1
test.foo # => 2
#Werte werden gemeinsam genutzt, auch wenn die Instanzen unterschiedlich sind
test2 = Foo.new
test2.foo # => 3
#Es kann über Klassenmethoden zugegriffen werden, und die Werte werden gemeinsam genutzt.
Test.hoge # => 4
・ Ich wollte Import schreiben ... in Java, aber in Wirklichkeit scheint erfordern einen höheren Freiheitsgrad zu haben (siehe den Link unten). ・ [Ruby] Ruby erfordert unterscheidet sich von Java
・ Ich konnte dies in Java nicht finden. .. ..
-** Verwendung ** --Namespace (Sicherstellen der Eindeutigkeit von Methoden ... Um das Duplizieren von Methodennamen beim Importieren von Bibliotheken usw. zu verhindern) --Mix-in (Verwendung durch Einschließen aller Methoden in ein Modul)
Recommended Posts