I haven’t seen a better explanation about OOP till date than the one given by a guy who never had any formal engineering training but always had clear idea about everything he did and preached, be it technology, design or art.
He is referring to Steve Jobs in an 1994 interview for the Rolling Stone:
Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we’re doing right here.
Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”
You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level.
And here we are in 2015, when Aaron Sorkin made the following lines into a movie:
Steve Wozniak: What do you do? You’re not an engineer. You’re not a designer. You can’t put a hammer to a nail. I built the circuit board! The graphical interface was stolen! So how come ten times in a day I read Steve Jobs is a genius? What do you do?
Steve Jobs: Musicians play their instruments. I play the orchestra.
I have less and less inclination to watch this movie.