Thank you for clarifying! Here’s an updated version of the README.md that explains that the repository is focused on OOP concepts, with the Bank System project being one of the key implementations:
This repository serves as a comprehensive collection of all things related to Object-Oriented Programming (OOP). It includes various resources, exercises, labs, and projects that help in understanding and applying the core principles of OOP, such as encapsulation, inheritance, polymorphism, and abstraction.
The repository is designed to take you through a journey of learning OOP, starting from basic concepts to more advanced applications. The Bank System project, built using Python and SQLite, is one of the key projects in this repository that demonstrates how OOP principles can be applied in a real-world scenario.
- Encapsulation: Bundling the data and methods that operate on the data within a class and restricting access to some of the object's components.
- Inheritance: Creating new classes that inherit attributes and methods from existing classes to promote code reuse.
- Polymorphism: Defining multiple methods with the same name but different implementations.
- Abstraction: Hiding complex implementation details while providing a simple interface to interact with the object.
This repository contains a variety of contents that showcase the application of OOP principles, and also include coding exercises, labs, and projects:
The labs in this repository are designed to walk you through the fundamental concepts of OOP step by step. They start with basic exercises and gradually move into more complex topics:
- Lab 01 - Lab 03: Basics of OOP concepts such as classes, objects, constructors, and methods.
- Lab 04 - Lab 06: More complex concepts like inheritance, polymorphism, and working with multiple classes.
- Lab 07 - Lab 10: Focus on integrating OOP concepts with external systems like file handling and databases.
These labs provide a hands-on learning experience and are designed to reinforce your understanding of the theory behind OOP.
The Bank System project is the central application of OOP concepts in this repository. It is built using Python and an SQLite database to demonstrate real-world use cases of OOP. This project simulates a banking system where users can:
- Create accounts.
- Make deposits and withdrawals.
- Check their balance.
- Store data in a SQLite database for persistent storage.
This project demonstrates how to apply OOP principles in a fully functioning system. It provides a practical application of concepts such as class design, database interaction, and user input handling.
In addition to the labs and the bank project, the repository contains various resources to deepen your understanding of OOP and related technologies:
- Assignments: Additional tasks to test and reinforce your OOP knowledge.
- Composition & Aggregation: Examples of object composition and aggregation, two important concepts in OOP for modeling relationships between objects.
- SQL Basics: Basic SQL exercises and tutorials to help you interact with databases, which are essential for the Bank System project.
- Polynomial Class & Codes: A practical demonstration of how to create mathematical objects using OOP, such as implementing a Polynomial class.
- File Handling Codes: Python examples showing how to perform file operations, which is useful for saving data or working with files in real-world applications.
- Tkinter: An example of using Tkinter to build graphical user interfaces (GUIs) in Python.
- LICENSE: Information about the licensing of the project.
- .gitignore: The
.gitignore
file ensures that unnecessary files (like temporary files or IDE configurations) are not tracked in version control. - README.md: This file, which provides an overview of the project.
-
Clone the repository:
git clone https://github.com/shoaib1522/Object-Oriented-Programming.git
-
Navigate to the project directory:
cd Object-Oriented-Programming
-
Install dependencies (if any): If there is a
requirements.txt
file, install necessary dependencies:pip install -r requirements.txt
-
Run the Bank System: Navigate to the folder containing the Bank System code and run the script:
python bank_system.py
Feel free to fork this repository and submit pull requests to improve the project, fix bugs, or contribute new features. Contributions are welcome, especially those that help enhance the OOP concepts and applications demonstrated in this project.
This project is licensed under the MIT License. See the LICENSE
file for more details.