https://github.com/darkas-overgold/zegel_2024-2_python_oop
The repository Zegel_2024-2_Python_OOP by me is designed for educational purposes, focusing on Python programming with an emphasis on Object-Oriented Programming (OOP). It contains structured course content likely targeted at students or developers seeking to learn advanced concepts in Python.
https://github.com/darkas-overgold/zegel_2024-2_python_oop
abstraction encapsulation inheritance object-oriented-programming polimorphism python python-3 python-script python3
Last synced: 7 months ago
JSON representation
The repository Zegel_2024-2_Python_OOP by me is designed for educational purposes, focusing on Python programming with an emphasis on Object-Oriented Programming (OOP). It contains structured course content likely targeted at students or developers seeking to learn advanced concepts in Python.
- Host: GitHub
- URL: https://github.com/darkas-overgold/zegel_2024-2_python_oop
- Owner: Darkas-Overgold
- License: mit
- Created: 2024-11-29T02:21:41.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-11-29T02:36:41.000Z (10 months ago)
- Last Synced: 2025-03-27T12:14:32.452Z (7 months ago)
- Topics: abstraction, encapsulation, inheritance, object-oriented-programming, polimorphism, python, python-3, python-script, python3
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Zegel 2024-2 Python OOP Repository ๐โจ
Welcome to the Zegel 2024-2 Python OOP Repository! This project is an educational resource designed to teach Object-Oriented Programming (OOP) concepts using Python. Perfect for students and professionals who want to master the fundamentals and advanced features of Python's OOP capabilities.
## ๐ ๏ธ Project Purpose
This repository is built to guide learners through:
Understanding OOP principles such as encapsulation, inheritance, polymorphism, and abstraction.
Practical implementation of classes, methods, attributes, and exceptions.
Hands-on practice with Python's OOP tools to create robust, reusable code structures.
## ๐ Repository Structure
1. Core Concepts and Classes
The project includes foundational examples of OOP principles:
Encapsulation: Demonstrates how to define private attributes and use getters and setters to control data access.
Inheritance: Explains how child classes can extend functionality from parent classes using the super() function.
Polymorphism: Implements flexible methods to handle multiple types of data seamlessly.
Abstraction: Introduces abstract classes and methods using Python's abc module.
2. Practical Use Cases
This repository brings theoretical concepts to life with real-world scenarios:
Appliance Management: Classes such as Product, Kitchen, Microwave, and WashingMachine demonstrate how to model objects in a modular fashion.
Private methods like _calculate_price_with_tax() ensure secure and accurate computations.
Public methods such as show_details() display formatted information for each object.
## ๐ Key Functionalities
## ๐ฆ Product Class
A base class that represents generic products with attributes like:
code: A unique identifier for the product.
description: A string that explains the product.
price: The base price before taxes.
Private Methods:
_calculate_igv(): Computes tax (18%) for the product.
_calculate_total_price(): Adds tax to the base price for the total.
Public Methods:
get_code(), get_price(): Retrieve information securely.
set_price(value): Updates the product price.
๐ด Kitchen Class
An extension of the Product class with extra attributes for appliances. Features include:
Overriding the base class's methods for specific appliance use cases.
Future Scope: Adding properties like energy efficiency.
## ๐งบ Washing Machine Class
Models washing machines with:
Extended attributes for load capacity and water consumption.
Demonstrates inheritance and method customization.
## ๐ Learning Objectives
By exploring this repository, you will learn to:
Define and structure Python classes effectively.
Apply OOP principles to real-world programming scenarios.
Handle complex relationships between objects using inheritance.
## ๐ค Contributions
Contributions are welcome! If you have additional examples, optimizations, or ideas, feel free to submit a pull request.
## ๐ฉ Contact
For questions, reach out via GitHub Issues or contact the repository maintainer directly.
Enjoy learning Python OOP! ๐๐ป
Feel free to adjust this draft to include exact functionality or files if specific details are available in the repository.