Welcome to my learning repository for Object-Oriented Programming (OOP) using C++. This repository is dedicated to exploring the four major topics of OOP:
Encapsulation is the practice of bundling data (attributes) and methods (functions) that manipulate the data into a single unit called a class. This topic will cover:
- How to create and use classes in C++.
- The use of access modifiers (private, protected, public) to control access to class members.
- Practical examples of encapsulation in action using C++.
Inheritance allows a new class to inherit properties and methods from an existing class, promoting code reuse. This section will explore:
- The creation of base and derived classes in C++.
- How to override methods in derived classes.
- Examples demonstrating the power of inheritance in C++.
Polymorphism enables a single interface to be used for different data types and allows methods to be used in multiple ways. This part will cover:
- Method overloading and method overriding in C++.
- The use of polymorphism in different scenarios.
- Practical examples to illustrate polymorphism in C++.
Abstraction focuses on hiding the complex implementation details and exposing only the necessary parts. This section will include:
- The creation of abstract classes and interfaces in C++.
- How abstraction is used to manage complexity in large systems.
- Real-world examples of abstraction in C++.
- /Encapsulation: Contains C++ code examples and notes related to encapsulation.
- /Inheritance: Contains C++ code examples and notes related to inheritance.
- /Polymorphism: Contains C++ code examples and notes related to polymorphism.
- /Abstraction: Contains C++ code examples and notes related to abstraction.
Clone the repository and explore each topic through the provided examples and notes in C++.
git clone https://github.com/shaykotselim/Object-Oriented-Programming-Fundamentals.git