-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4fe112a
commit 2c3cb1e
Showing
2 changed files
with
72 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,37 @@ | ||
## 05: Object-Oriented Programming | ||
**Object-Oriented Programming (OOP)** | ||
- Object-oriented programming concepts (classes, objects, inheritance, polymorphism) | ||
- Design patterns and best practices in OOP | ||
|
||
**Assignment:** Ass5 | ||
- [Introduction to OOP in Python](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#introduction-to-oop-in-python) | ||
- [Python Classes and Objects](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#python-classes-and-objects) | ||
- [Object-Oriented Programming Principles in Python](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#object-oriented-programming-principles-in-python) | ||
- [1. Encapsulation](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#1-encapsulation) | ||
- [Encapsulation in Data Pipelines](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#encapsulation-in-data-pipelines) | ||
- [Encapsulation in Python's Data Structures](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#encapsulation-in-pythons-data-structures) | ||
- [Custom Data Structures with Encapsulation](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#custom-data-structures-with-encapsulation) | ||
- [Encapsulation and Performance](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#encapsulation-and-performance) | ||
- [2. Inheritance](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#2-inheritance) | ||
- [What is Inheritance?](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#what-is-inheritance) | ||
- [Basic Syntax](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#basic-syntax) | ||
- [Accessing Parent Class Methods](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#accessing-parent-class-methods) | ||
- [Multiple Inheritance in Python](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#multiple-inheritance-in-python) | ||
- [Mixin](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#mixin) | ||
- [Inheritance Example: Put all togather](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#inheritance-example-put-all-togather) | ||
- [Inheritance in data pipelines](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#inheritance-in-data-pipelines) | ||
- [3. Abstraction](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#3-abstraction) | ||
- [Introduction to Abstraction and Its Applications](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#introduction-to-abstraction-and-its-applications) | ||
- [What is Abstraction?](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#what-is-abstraction) | ||
- [Creating an Abstract Base Class](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#creating-an-abstract-base-class) | ||
- [Abstract Methods](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#abstract-methods) | ||
- [Abstract Properties](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#abstract-properties) | ||
- [Abstract Method vs Abstract Properties](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#abstract-method-vs-abstract-properties) | ||
- [Abstract Methods with Default Implementations](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#abstract-methods-with-default-implementations) | ||
- [Using Abstract Base Classes with Multiple Inheritance](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#using-abstract-base-classes-with-multiple-inheritance) | ||
- [4. Polymorphism in Python](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#4-polymorphism-in-python) | ||
- [Basic Example of Polymorphism](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#basic-example-of-polymorphism) | ||
- [Method Overriding](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#method-overriding-1) | ||
- [Polymorphism with Inheritance](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#polymorphism-with-inheritance) | ||
- [Duck Typing](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#duck-typing) | ||
- [Method Overloading and Polymorphism](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#method-overloading-and-polymorphism) | ||
- [Polymorphism with Operator Overloading](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#polymorphism-with-operator-overloading) | ||
- [Abstract Base Classes and Polymorphism](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#abstract-base-classes-and-polymorphism) | ||
- [Encapsulation vs Inheritance vs Abstraction vs Polymorphism](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#encapsulation-vs-inheritance-vs-abstraction-vs-polymorphism) | ||
- [Dunder Methods](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#dunder-methods) | ||
- [Class Relationships](https://github.com/behnamyazdan/PythonForDataEngineeringCourse/blob/main/06-ObjectOrientedProgramming/04-ObjectOrientedProgramming(OOP).md#class-relationships) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters