Nie ma żadnej różnicy. Podejrzewam, że zrobiono to tylko dla wartości dokumentalnej oglądania w pobliżu siebie nawzajem self.age
i other_person.age
.
Przypuszczam, że użycie pozwala na zapisywanie faktycznego gettera w przyszłości, co może zrobić coś bardziej skomplikowanego niż tylko zwrócenie zmiennej instancji, w takim przypadku metoda nie musiałaby się zmieniać.
Ale jest to mało prawdopodobne, aby się martwić abstrakcją, w końcu, jeśli zmiana obiektu jest uzasadniona, aby zmienić inne metody, w pewnym momencie proste odniesienie w samym obiekcie jest całkowicie uzasadnione.
W każdym razie, abstrakcja nieruchomości age
nadal nie wyjaśnia wyraźne użycie self
, jak po prostu age
również powołały się na akcesor.
Kiedyś czytałem książkę w szynach i nie rozumiem różnicy między tym self a @, więc zawsze powinieneś używać self.var_name w moich metodach (to nie setter i getter), aby moje dane były używane za pomocą publicznego interfejsu, Spędziłem czas definiując go w getter i seter, prawda? – sarunw
... angielski ... co masz na myśli przez dowolną liczbę rzeczy. nie dostałem tych dwóch ostatnich przykładów. – user2167582