Object-Oriented Programming Roadmap

Step by step guide to becoming an Android developer.

Back to home

Legend

Propose
Alternatives
Options

1Introduction to OOP

Building the foundational mindset for object-oriented programming.

What is OOP? Why use it?
Comparison with Procedural Programming
Overview of the 4 Pillars of OOP

2Class and Object

The most basic and core concepts of OOP.

Class as a Blueprint
Object as an Instance
Attributes and Methods
Constructor and Destructor

3Encapsulation

Bundling data and the methods that work on that data together.

Data Hiding
Public, Private, Protected
Getters and Setters

4Inheritance

Allows a new class to inherit the properties and methods of an existing class.

Base and Derived Class
'is-a' Relationship
Method Overriding
Types of Inheritance

5Polymorphism

The ability of an object to take on many forms.

Compile-time (Static) Polymorphism
Run-time (Dynamic) Polymorphism

6Abstraction

Hiding complexity and showing only the essential features of the object.

Hiding Implementation Details
Abstract Class and Interface

7Advanced Concepts

Diving deeper into the relationships and characteristics of objects.

Composition vs. Inheritance
Association, Aggregation, Composition
Static Members

8SOLID Design Principles

Five fundamental principles for writing more maintainable, scalable, and understandable code.

S - Single Responsibility Principle
O - Open/Closed Principle
L - Liskov Substitution Principle
I - Interface Segregation Principle
D - Dependency Inversion Principle

9Design Patterns

Proven solutions to recurring problems in software design.

Creational Patterns
Structural Patterns
Behavioral Patterns

10Practice and Application

Applying the learned knowledge to real-world projects.

Apply OOP to a Project
Refactoring Code
Learn about UML Class Diagrams

Visit the following related paths and keep learning.