Es gibt keinen Unterschied. Ich vermute, dass es nur für den dokumentarischen Wert gemacht wurde, und other_person.age
nebeneinander zu sehen.
Ich nehme an, dass die Verwendung ermöglicht, dass ein tatsächlicher Getter in der Zukunft geschrieben wird, der etwas Komplexeres tun könnte, als nur eine Instanzvariable zurückzugeben, und in diesem Fall müsste die Methode nicht geändert werden.
Aber das ist eine unwahrscheinliche Abstraktion zu kümmern, schließlich, wenn die Implementierung des Objekts geändert hat, ist es sinnvoll, andere Methoden zu ändern, irgendwann ist eine einfache Referenz innerhalb des Objekts selbst völlig in Ordnung.
In jedem Fall, Abstraktion der age
-Eigenschaft noch nicht die explizite Verwendung von self
zu erklären, wie nur age
würde auch den Accessor aufgerufen haben.
Ich habe einmal ein Buch in Schienen gelesen und verstehe nicht den Unterschied zwischen diesem Selbst und @, also sollte ich immer self.var_name in meinen Methoden verwenden (das nicht Setter und Getter), um meine Daten mit öffentlichen Schnittstelle zu machen, Ich habe Zeit damit verbracht, es in Getter und Setter zu definieren, oder? – sarunw
... Englisch ... was meinst du mit einer Anzahl von Dingen. Ich habe die letzten beiden Beispiele nicht bekommen. – user2167582