OOP
โ Paradigm to organize & structure data as Object
aka OOP, Object-Oriented-Programming, Object-Oriented
Object
โ
self-contained code with collection of properties, to model real-world/abstract features & relationships
Abstraction
โ
(Paradigm) to ignore/hide Low-Level details to focus on implement
Encapsulation
โ
(Paradigm) to pack properties & methods into component, to keep private and restrict access (unless expose via API)
Inheritance
โ
(Paradigm) to share properties & methods of parent class to child classes
Polymorphism
โ
(Paradigm) Child class can overwrite inherit property/method
Prototypal Inheritance
โ
Link for all Object to their Prototype, to mimic Inheritance access to Method & props
"Classical" OOP Concepts ๐ญ๐ค
"Object-oriented programs are offered as alternatives to correct ones" - Edsger Dijkstra
Referencesโ
Java
โ clunky Boilerplate-heavy High-Level General-Purpose OOP Programming Language. inspire name for JSJS
โ Multi-paradigm High-Level Prototypal Inheritance OOP Scripting Language for full stack Web DevC#
โ Static Typed GP Modern-C-like OOP Language for .NET & UnityPrototype
โ Model blueprint Object to Delegate methods & properties, link via__proto__
, to mimic "classical" OOP Inheritance[
Functional Programming](functional-programming) \>\>\> [**_
OOP_**](oop)
โ
