den Code unten gegeben:Zugriff auf Klassenvariablen, können Sie nur eine Setter-Methode ohne Getter-Methode haben?
class Man
def self.noise=(noise)
@@noise = noise
end
end
puts Man.noise = ("YO")
ich die Setter-Methode self.noise verwendet haben, aber die Getter-Methode nicht tatsächlich verwendet und es funktionierte. Ich bin neugierig zu wissen, ob Klassenvariablen erfordert Getter und Setter-Methoden zu arbeiten?
Das verwirrende Element in all dem ist, dass Instanzvariablen scheinen beide Getter-und Setter-Methoden zugegriffen werden müssen. Wenn Sie nur eine Setter-Methode für den Zugriff auf Instanzvariablen haben, wird die Variable einfach nicht zurückgegeben, wenn Sie die Setter-Methode aufrufen.
Meine Frage ist, dass für Klassenvariablen, können Sie nur eine Setter-Methode und rufen Sie es, ohne eine Getter-Methode auf die Klassenvariable zugreifen? In diesem Fall würde die Getter-Methode sein:
self.noise
@@noise
end
Ist http://Stackoverflow.com/questions/8737421/trying-to-learn-understand-ruby-setter-and-getter-methods - die im Grunde die gleiche Frage, sondern über Instanzvariablen - helfen, Dinge zu klären? Insbesondere Antwort http://stackoverflow.com/a/8737438/117424 kann hilfreich sein. –
Ich verstehe voll und ganz, dass Instanzvariablen beide Getter- und Setter-Methoden verwenden müssen, und fragen sich dasselbe über Klassenvariablen. Ob es notwendig ist, beides zu haben, damit das Programm funktioniert. – developer098