There isn't any difference. I suspect that it was done just for the documentary value of seeing self.age
and other_person.age
near each other.
I suppose that use does allow for an actual getter to be written in the future, which might do something more complex than just return an instance variable, and in that case the method would not need to change.
But that's an unlikely abstraction to worry about, after all, if the implementation of the object changed it's reasonable to change other methods, at some point a simple reference within the object itself is perfectly reasonable.
In any case, abstraction of the age
property still doesn't explain the explicit use of self
, as just plain age
would also have invoked the accessor.