This repository is dedicated to mastering Object-Oriented Programming (OOP) concepts in Python, specifically structured to help with viva and interview preparation.
-
🧠 OOP
- Introduction to Object-Oriented Programming in Python
-
🏛️ Pillars of OOP
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
-
🔐 Encapsulation
- Wrapping data and code together as a single unit
- Access modifiers: public, protected, private
- https://github.com/samade747/OOP-PRO/tree/main/OfficalRepo/Encapsulation
-
🎭 Abstraction
- Hiding internal implementation and showing only necessary details
- https://github.com/samade747/OOP-PRO/tree/main/OfficalRepo/Abstraction
-
👪 Inheritance
-
Acquiring properties and behaviors from a parent class
-
https://github.com/samade747/OOP-PRO/blob/main/OfficalRepo/Inheritance/README.md
-
-
🔁 Polymorphism
- Multiple forms: method overloading and method overriding
- https://github.com/samade747/OOP-PRO/tree/main/OfficalRepo/Polymorphism
-
⚔️ OOP vs Procedural Programming
- Key differences and use cases
-
🧱 Basics of Classes and Objects
- 👤 Classes: Blueprints for creating objects
- 🧩 Objects: Instances of classes
-
🛠️ Attributes and Methods
- Instance variables
- Class variables
- Instance methods
-
🏗️ Constructors
__init__method to initialize objects
-
🧨 Destructors
__del__method to clean up when an object is deleted
-
🆚 Class Attributes vs Instance Attributes
- Shared vs unique data among instances
-
🏷️ @classmethod
- Methods that take the class as the first argument
-
🧷 @staticmethod
- Methods that don’t take instance or class as a parameter
-
👤 @instancemethod
- Regular methods that operate on instance data
This repository is helpful for:
- Viva preparation
- Technical interview revision
- Deep understanding of Python OOP concepts
This project is open-source and available under the MIT License.