Helping ordinary people create extraordinary websites!

What is Object Oriented Programming (OOP)?

By Tony Marston
2007-01-30

Conclusion
Many people use different words to describe what OOP is supposed to mean, but the problem with words is that they are slippery. Like Humpty Dumpty proclaimed in Lewis Carroll's Through the Looking Glass:

When I use a word, it means just what I choose it to mean -- neither more nor less.
If you take the words used by the originators of OOP and apply different meanings to those words, then others take your words and apply different meanings to them, then you can end up with something which is nothing like the original, as immortalised in that children's game called Chinese Whispers.

There are only three features which really differentiate an Object Oriented language from a non-OO language, and these are Encapsulation, Inheritance and Polymorphism. Everything else is either bullshit or hype. Object Oriented Programming is therefore the use of these features in a programming language. High reusability and low maintainability cannot be guaranteed - that depends entirely on how these features are implemented.

Some people accuse me of having a view of OOP which is too simplistic, but instead of saying that my view is "more simple than it need be" surely it can also mean that their view is "more complex than it need be"? As a long-time follower of the KISS principle I know which view I prefer, and I also know which view is easier to teach to others.



Tutorial pages:
 1 Votes

You might also want to check these out:


Leave a Comment on "What is Object Oriented Programming (OOP)?"
You must be logged in to post a comment.

Link to This Tutorial Page!


GET OUR NEWSLETTERS