Object-oriented programming is an exceptionally bad idea, which could only have originated in California.
—Edsger Dijkstra
The object has three properties, which makes it a simple, yet powerful model building block. It has state so it can model memory. It has behavior, so that it can model dynamic processes. And it is encapsulated, so that it can hide complexity.
—Trygve Reenskaug, Working With Objects
Well, yes, we’ve all learned about the object-oriented programming (OOP) paradigm before. But it never hurts to go over some basic definitions so we’re all ...