Object-oriented programming (OOP) is a programming paradigm using the concept of objects. These encapsulates data which is organized in the form of fields (often known as attributes) and code, in the form of procedures (often known as methods). Methods can access and often modify attributes of the object with which they are associated. In OOP, computer programs are designed based on having objects interacting among each other.
OOP includes features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Many modern programming languages now support OOP.
- Interface vs Base class
- Prefer composition over inheritance?
- Polymorphism vs Overriding vs Overloading
- What is a class in PHP?
- What's the point of OOP?
- Inheritance vs. Aggregation
- Object-orientation in C
- What are the differences between struct and class in C++?
- Interface vs Abstract Class (general OO)
- What's the difference between a method and a function?
- What is the difference between an interface and abstract class?
- What is the difference between an abstract function and a virtual function?
- What is the difference between public, private, and protected?
- Functional programming vs Object Oriented programming
- Difference between abstraction and encapsulation?
- How do you design object oriented projects?
- Difference Between Cohesion and Coupling
- prototype based vs. class based inheritance
- Aspect Oriented Programming vs. Object-Oriented Programming
- What is polymorphism, what is it for, and how is it used?