Many programmers, especially when starting out, find it hard to really understand Object-Oriented Programming (OOP). OOP principles (encapsulation, abstraction, inheritance, polymorphism) tend to be hurled at you so fast, and yes, it can get intimida...

Markdown supported · ⌘↵ to post
Thank you.
I see what you're saying. The characteristics are a consequence of the actions it performs or receives (the essential interactions).
But I considered it important to discuss them, to make background for discussing the other things in the parts to come. Things such as constructors.
I will definitely bear your comment in mind as I write. Thank you so much.
I absolutely love all the interesting examples you used to explain OOP. This is so beginner-friendly and awesome. Thanks for sharing!
Maxi Contieri
Software Engineer
great article and great analogies
I like it very much the interactions part
I think you can omit the characteristics all together, many programmers mistake them with state and then violate information hiding and encapsulation principles.
you can define an object by its essential interactions and it is not necessary to deal with accidental characteristics