As a software developer, you’ve undoubtedly been asked by a recruiter, who’s following some script: “what are the three major aspects of Object Oriented Programming?”
And you probably answered something like this:
- Polymorphism, basically something taking more than one form as you need it. For instance method overloading in C++.
- Inheritance, in C++ the ability to gain functionality of a parent class in a new child class without having to write that functionality yourself.
- Encapsulation, the idea behind creating self-contained reusable code that’s hopefully loosely coupled with single points of reference to allow you swap in and out objects as needed or use someone else’s work without knowing the inner workings of an object.
Next time you’re asked a basic question that a) everyone knows, b) anyone can google, answer it this way:
- Infraction — You’re foot has two operations: push hard, and push harder, on the gas.
- Misdemeanor — Your child looks like you, their parent, and uses your ID card to buy beer.
- Felony — The key that unlocks your 1960 VW also unlocks the neighbor’s Porsche.
See what the recruiter thinks of those answers!