An open API service indexing awesome lists of open source software.

https://github.com/code4mk/oop-object-oriented-oop-journey

Object Oriented Programming Journey
https://github.com/code4mk/oop-object-oriented-oop-journey

learn-oop object-oriented-programming oop oop-journey oop-php oop-principles oop-tips

Last synced: 4 months ago
JSON representation

Object Oriented Programming Journey

Awesome Lists containing this project

README

        

# OOP journey
OOP stands for object-oriented programming. OOP is a programming paradigm related to objects.

OOP's main concepts are object and class. Each object communicates with the others.

## Class

Class is a template(blueprint) for creating a object. It contains attributes/properties/datas/state and behavior/methods/actions.

example: `home blueprint/sketch`

## Object

Object is instance of class. Object has attributes , methods and identify.

`object is a real entity`, example: `real home`

# Advantages

* Clear structure.
* Reusable.
* DRY code (don't repeat yourself).
* Maintainable/Bug fixing/dedug easy.
* Adoptable.
* Secure,protect infromation through encapsulation.
* Faster development sprint.

# Main pillar of OOP
1. [Inheritance](https://github.com/code4mk/oop-object-oriented-oop-journey/tree/main/Inheritance) (extends parent class with child class)
2. [Encapsulation](https://github.com/code4mk/oop-object-oriented-oop-journey/tree/main/encapsulation) (binding properties/method one unit)
3. [Abstraction](https://github.com/code4mk/oop-object-oriented-oop-journey/tree/main/abstraction) (Hiding implementation)
4. [Polymorphism](https://github.com/code4mk/oop-object-oriented-oop-journey/tree/main/polymorphism) (Many form)

# Resources
* [Resources](https://github.com/code4mk/oop-object-oriented-oop-journey/blob/main/resource.md)