Here are some basic object oriented design concepts one should know or good to know before going into a technical interview for a software engineering position.

Abstraction

The act of representation a feature without describing the extract detail of the feature.

Why it matters: “I don’t really care how you get the data. All I care about is that when I call this method with these parameters, I get this result.”

Encapsulation

Idea of wrapping data and methods that worked on the data in a single unit. It is used to hide the internal working of a class.

Why it matters: Same as above.

Inheritance

Ability of one class (child) to inheritance the capabilities of another class (parent). This way when we create a new class, we automatically inherit the properties of the parent class.

Why it matters: Allows us to reuse code and reduce redundancy. Use of parent and child classes.

Polymorphism

Ability of a feature to take on multiple forms. This is done using method overloading or overriding.

Why it matters: Allows us to use the same methods in more than one ways. Allow different objects to each express the same methods in its own way.

Interface

Ability to define what a method will do and the parameters that are required without actual implementation.

Why it matters: Allows us to “pre”-define what we want the method to do first. Implementation can come later or can be implemented in the child class.

Last modified: March 22, 2019

Author

Comments

Write a Reply or Comment