Software Development Terminology Flashcards
What are the four pillars of Object Oriented Programming (OOP)?
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
What is Encapsulation?
The bundling of data, along with the methods that operate on that data, into a single unit.
What is Abstraction?
The process of hiding all but the relevant details about an object in order to reduce complexity.
What is Inheritance?
A mechanism to derive a new class from an existing class to create a hierarchy of classes that share a set of data members and methods.
What is Polymorphism?
To present the same interface for different underlying forms which can produce different behaviours.
What’s the difference between Abstraction and Encapsulation?
Abstraction and encapsulation are complementary concepts. Abstraction focuses on the observable behaviour of an object, while encapsulation focuses on the implementation that gives rise to this behaviour.
What are the SOLID Design Principles?
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion
What is the Single Responsibility Principle?
A class should only do one thing, and therefore should only have one reason for its specification to change.
What is the Open/Closed Principle?
A class should be open to extension but closed to modification.
What is the Liskov Substitution Principle?
A subclass should be substitutable for its base class.
What is the Interface Segregation Principle?
Many specific interfaces are better than one general interface. A class should not be forced to implement functions it does not need.
What is Dependency Inversion?
A class should depend upon interfaces or abstract class rather than concrete classes.