Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shoaib1522/object-oriented-programming
This Object-Oriented Programming (OOP) project demonstrates the application of key OOP principles like inheritance, polymorphism, and encapsulation to create a real-world software system. The project showcases efficient design, code reusability, and scalability using object-oriented concepts.
https://github.com/shoaib1522/object-oriented-programming
aggregation composition encapsulation managemnt-system oop oops-in-python pythonsv
Last synced: 12 days ago
JSON representation
This Object-Oriented Programming (OOP) project demonstrates the application of key OOP principles like inheritance, polymorphism, and encapsulation to create a real-world software system. The project showcases efficient design, code reusability, and scalability using object-oriented concepts.
- Host: GitHub
- URL: https://github.com/shoaib1522/object-oriented-programming
- Owner: shoaib1522
- License: mit
- Created: 2024-12-07T17:47:20.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2024-12-07T18:30:12.000Z (27 days ago)
- Last Synced: 2024-12-07T19:21:35.684Z (27 days ago)
- Topics: aggregation, composition, encapsulation, managemnt-system, oop, oops-in-python, pythonsv
- Language: HTML
- Homepage:
- Size: 53.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Object-Oriented-Programming
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.
## Repository Overview
### Key Concepts Covered:
- **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.### Project Structure
This repository contains a variety of contents that showcase the application of OOP principles, and also include coding exercises, labs, and projects:
### 1. **Labs (Lab 01 - Lab 10)**
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.
### 2. **Bank System Project (SQL System - Bank)**
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.
### 3. **Additional Resources and Exercises**
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.### 4. **Other Files**
- **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.## Setup and Installation
1. **Clone the repository**:
```bash
git clone https://github.com/shoaib1522/Object-Oriented-Programming.git
```2. **Navigate to the project directory**:
```bash
cd Object-Oriented-Programming
```3. **Install dependencies** (if any):
If there is a `requirements.txt` file, install necessary dependencies:
```bash
pip install -r requirements.txt
```4. **Run the Bank System**:
Navigate to the folder containing the Bank System code and run the script:
```bash
python bank_system.py
```## Contributing
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.
## License
This project is licensed under the **MIT License**. See the `LICENSE` file for more details.