Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flexycode/ccobjpgl-py
CCOBJPGL-PY - Object-Oriented Programming in Python
https://github.com/flexycode/ccobjpgl-py
abstraction encapsulation inheritance oops-in-python polymorphism python python-lambda python3
Last synced: 8 days ago
JSON representation
CCOBJPGL-PY - Object-Oriented Programming in Python
- Host: GitHub
- URL: https://github.com/flexycode/ccobjpgl-py
- Owner: flexycode
- License: mit
- Created: 2024-05-02T14:52:46.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-25T19:22:36.000Z (20 days ago)
- Last Synced: 2025-01-25T20:20:59.663Z (20 days ago)
- Topics: abstraction, encapsulation, inheritance, oops-in-python, polymorphism, python, python-lambda, python3
- Language: Python
- Homepage:
- Size: 57.6 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 💫 CCOBJPGL-PY
CCOBJPGL-PY - Object-Oriented Programming in PythonThis repository contains all of the python code implementations of each topic in the course outline for object oriented programming.
## Table
| Folder Name | Topic |
|-------------|-------|
| week_1-2 | Review of OOP Basics (Encapsulation, Inheritance, Polymorphism) |
| week_3 | Forms of Inheritance |
| week_4 | Programming by Contract |
| week_5 | Subtyping versus Subclassing |
| week_6 | Double dispatch |
| week_7 | Multiple Inheritance |
| week_8-9 | Formal Models of OOP System (Unified modeling language and formal specification languages) |
| week_10-13 | Design Patterns (Creational, Structural, Behavioral, Model-View-Controller) |# Object-Oriented Programming in Python
This repository contains all of the Python code implementations for each topic covered in the course outline for Object-Oriented Programming.
## Table of Contents
- [Introduction](#introduction)
- [Lesson](#lesson)
- [Exercise](#exercise)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)
- [FAQ](#faq)
- [Changelog](#changelog)# 🔭 Introduction
This repository contains all of the python code implementations of each topic in the course outline for object oriented programming.
# 💻 Lesson
### Lesson: Review of OOP Basics (Encapsulation, Inheritance, Polymorphism)
In this lesson, review the fundamental concepts of object-oriented programming, including encapsulation, inheritance, and polymorphism. Explain how these concepts are used to create modular and reusable code.### Lesson: Forms of Inheritance
In this lesson, explore different forms of inheritance, such as single inheritance, multiple inheritance, and multi-level inheritance. Discuss the advantages and considerations of each form and provide examples to illustrate their usage.### Lesson: Programming by Contract
In this lesson, introduce the concept of programming by contract. Explain how preconditions, postconditions, and invariants can be used to define and enforce the behavior of classes and methods. Provide examples to demonstrate the use of programming by contract in Python.### Lesson: Subtyping versus Subclassing
In this lesson, discuss the difference between subtyping and subclassing. Explain how subtyping allows objects of different classes to be used interchangeably based on their shared behavior, while subclassing involves creating a new class that inherits from a base class. Provide examples to illustrate the concepts.### Lesson: Double Dispatch
In this lesson, explain the concept of double dispatch and its use in object-oriented programming. Discuss how double dispatch allows the selection of a method to be based on the runtime types of two objects. Provide examples to demonstrate the implementation of double dispatch in Python.### Lesson: Multiple Inheritance
In this lesson, explore the concept of multiple inheritance and its implications. Discuss how multiple inheritance allows a class to inherit from multiple parent classes, and how method resolution order (MRO) is determined. Provide examples to illustrate the use of multiple inheritance in Python.### Lesson: Formal Models of OOP System (Unified Modeling Language and Formal Specification Languages)
In this lesson, introduce formal models of object-oriented programming systems, such as the Unified Modeling Language (UML) and formal specification languages. Explain how UML can be used to model classes, relationships, and behavior, and how formal specification languages can be used to specify and verify the correctness of object-oriented systems.### Lesson: Design Patterns (Creational, Structural, Behavioral, Model-View-Controller)
In this lesson, discuss the concept of design patterns and their importance in object-oriented programming. Introduce different categories of design patterns, including creational, structural, behavioral, and the Model-View-Controller (MVC) pattern. Explain the characteristics and usage of each pattern and provide examples to illustrate their implementation in Python.# 🏆 Contributing
```bash
Coming Soon
```# 🔐 License
```bash
Coming Soon
```# 🕵️ Acknowledgements
```bash
Coming Soon
```# 💬 FAQ
Provide answers to frequently asked questions related to the course.```bash
Coming Soon
```
# 📫 Changelog
## 💻 [5.1.4] - 2024-05-2
### Added
- ✨ Uploaded the Course Syllabus
- ✨ Added breakdown and documentation### Changed
- ✨ revised icon### Fixed
- ✨ Revised my documentaion## 💻 [5.1.3] - 2024-05-21
- ✨ Added week 1 : Object and Classes
- ✨ Added class with constructor
- ✨ Added standard class## 💻 [5.1.4] - 2024-05-28
- ✨ Added week 2 : Encapsulation, Inheritance, Polymorphism
- ✨ Added Encapsulation with example code
- ✨ Added Ihheritance with example code
- ✨ Added Polymorphism with example code## 💻 [6.1.4] - 2024-06-04
- ✨ Added week 3 : Forms of Inheritance## 💻 [7.1.4] - 2024-07-05
- ✨ Added week 4## 💻 [11.1.1] - 2024-11-19
- ✨ Add Licence## 💻 [12.1.1] - 2024-12-25
- ✨ Coming Soon## 💻 [12.1.1] - 2024-12-25
- ✨ Added Synchronous + Asynchronous topic for Framework
- ✨ Added Framework lesson ( Django, FastAPI, Flask )🧊 Python OOP
#### [Back to Table of Content](#-introduction)
---
![]()
![]()
![]()
![]()