Objected-Oriented Programming (OOP)

Learned in CS138. REALLY learned in CS247.

Object-oriented programming imposes discipline on indirect transfer of control.

To the software architect, OO is the ability, through the use of polymorphism, to gain absolute control over every source code dependency in the system. Clean Architecture

Basic Terminologies

Object: A self-contained entity that consists of both data and procedures to manipulate the data. In C++, An object is an instance of a class. Class: This is the model or standard about the capability of what an object can do Method: Function / procedure inside a class Instance: An Instance is a unique realization of an Object.

Class >> Object >> Instance

Object vs. Instance

I still get this so confused wtf.. they are used extremely interchangeably. Anyways, the distinction between object and instance is not important.

The Four Principles of Object-Oriented-Programming (OOP)


Principles / Paradigms