This is all my learning of OOP, mainly in Java with some C++.
OOP-tasks/
├── week#2/ # Classes, Objects, Constructors
├── week#3/ # Encapsulation, Access Control
├── week#4/ # Inheritance, Method Overriding
├── week#5/ # Polymorphism, Interfaces
├── week#6/ # File I/O Operations
├── week#7/ # Exception Handling
├── week#8/ # UML and System Design
└── week#10/ # Final Projects
- Student class implementation
- Working with constructors
- Object creation and method calls
- Private members and data hiding
- Getter/setter implementation
- Constructor overloading
- BankAccount class with validation
- Parent-child class relationships
- Method overriding
- Shape hierarchy implementation
- Runtime polymorphism
- Abstract classes and interfaces
- Dynamic method dispatch
- File reading and writing
- Stream handling
- Student report system
- Try-catch implementation
- Custom exceptions
- Input validation
- UML class diagrams
- System modeling
- Documentation practices
- Final implementations
- Code review and optimization
- Project documentation
Each week's folder contains:
- Source code with solutions
- Documentation explaining the concepts
- Example implementations
- Related exercises and their solutions
The implementations follow a structured CSV-based learning schedule, with tasks completed sequentially to build a strong foundation in OOP concepts.
- Navigate to specific week folders for focused learning
- Read the accompanying documentation for concept understanding
- Study the implementations and explanations
- Try the exercises yourself
- Java
- C++
- UML Diagrams
- Git/GitHub
- Task schedule available in CSV format
- UML diagrams in lined repo in week#8.
- Project documentation and explanations in another repo:
Feel free to:
- Submit bug fixes
- Improve documentation
- Add alternative solutions
- Suggest improvements
MIT License - Feel free to use and modify as needed.