Skip to content

ch-arslanahmad/java-oop-exercises

Repository files navigation

Java Object Oriented Programming - Exercises (OOP-tasks)

This is all my learning of OOP, mainly in Java with some C++.

Repository Structure

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

Weekly Topics Overview

Week 2: Classes and Objects

  • Student class implementation
  • Working with constructors
  • Object creation and method calls

Week 3: Encapsulation

  • Private members and data hiding
  • Getter/setter implementation
  • Constructor overloading
  • BankAccount class with validation

Week 4: Inheritance

  • Parent-child class relationships
  • Method overriding
  • Shape hierarchy implementation

Week 5: Polymorphism

  • Runtime polymorphism
  • Abstract classes and interfaces
  • Dynamic method dispatch

Week 6: File Operations

  • File reading and writing
  • Stream handling
  • Student report system

Week 7: Exception Handling

  • Try-catch implementation
  • Custom exceptions
  • Input validation

Week 8: Design and Documentation

  • UML class diagrams
  • System modeling
  • Documentation practices

Week 10: Project Finalization

  • Final implementations
  • Code review and optimization
  • Project documentation

Implementation Details

Each week's folder contains:

  • Source code with solutions
  • Documentation explaining the concepts
  • Example implementations
  • Related exercises and their solutions

Learning Track

The implementations follow a structured CSV-based learning schedule, with tasks completed sequentially to build a strong foundation in OOP concepts.

Usage

  1. Navigate to specific week folders for focused learning
  2. Read the accompanying documentation for concept understanding
  3. Study the implementations and explanations
  4. Try the exercises yourself

Stack

  • Java
  • C++
  • UML Diagrams
  • Git/GitHub

Additional Resources

  • Task schedule available in CSV format
  • UML diagrams in lined repo in week#8.
  • Project documentation and explanations in another repo:

ReadMe Card

Contributing

Feel free to:

  • Submit bug fixes
  • Improve documentation
  • Add alternative solutions
  • Suggest improvements

License

MIT License - Feel free to use and modify as needed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages