Learn Python in Arabic #111 - OOP Part 9 - Multiple Inheritance And Method Overriding

preview_player
Показать описание
OOP Part 9 - Multiple Inheritance And Method Overriding

=============================

Support Me on Patreon to Help me Create More Videos

I will be Very Happy if you Support my Channel.

Join Our Facebook Group:

Follow My Facebook Profile:

Like Facebook Page:

Follow Me On Twitter:
Рекомендации по теме
Комментарии
Автор

والله اسطوره "ايوة اللي بتفكر فيه صح" يسلم اديك

mohammadnemrawi
Автор

انا لو تعلمت حاجة عمري كلو
لازم اخذ معلومة جديدة من عند اخي اسامة
بارك الله فيك ❤️

abdelghafourelgharbaoui
Автор

مش متخيل واالله اني فهمت oop والله انا وامي لما بنصلي بندعيلك ربنا يوفقك يرب ويجزيك خير ان شاء الله

Mahamed_bin_Emad
Автор

شكرا جدا لحضرتك ، بس لو أمكن يكون فيه مثال بجد شغال من أول ال inheritance ونكمل عليه كل مرة عشان يكون الموضوع أوضح،
وجزاك الله خير

mostafaeldalil
Автор

الف شكرا يا هندسة ربنا يجعله فى ميزان حسناتك

Ahmed_Taha_
Автор

Multiple Inheritance
• When a class is derived from more than one base class it is called multiple Inheritance. The derived class inherits all the features of the base case.
There are two ways for multiple inheritance
# First Way
class Base1:
pass
class Base2:
pass
class derived1(Base1, Base2):
pass
# Second Way
class Base3:
pass
class Base4(Base2):
pass
class derived2(Base4):
pass

Method Overriding
• Method overriding is an ability of any object-oriented programming language that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its super-classes or parent classes. When a method in a subclass has the same name, same parameters or signature and same return type(or sub-type) as a method in its super-class, then the method in the subclass is said to override the method in the super-class.
class Base1:
def __init__(self):
print("This is from Base 1")
class Base2:
def __init__(self):
print("This is from Base 2")
def sayHi(self):
return "Hi"
class derived1(Base1, Base2):
def __init__(self):
print("This is from derived1")
def sayHi(self):
return "Hello"

objectOne = derived1() # This is from derived1
print(objectOne.sayHi()) # Hello

mro()
• Method Resolution Order(MRO) it denotes the way a programming language resolves a method or attribute.
class Base1:
def __init__(self):
print("This is from Base 1")
class Base2:
def __init__(self):
print("This is from Base 2")
class derived1(Base1, Base2):
pass
objectOne = derived1() # This is from Base 1
print(derived1.mro())
# [<class '__main__.derived1'>, <class '__main__.Base1'>, <class '__main__.Base2'>, <class 'object'>]

Note:
• You can know the class that a function bound to it by print it without the parentheses
class Base1:
def __init__(self):
pass
def printFromBase1(self):
return "From the Base 1 class"
class Base2:
def __init__(self):
pass
def printFromBase2(self):
return "From the Base 2 class"
class derived1(Base1, Base2):
pass

objectOne = derived1() # This is from Base 1

# <bound method Base1.printFromBase1 of <__main__.derived1 object at

# <bound method Base2.printFromBase2 of <__main__.derived1 object at

# From the Base 1 class

# From the Base 2 class

Python
class BaseOne:
def __init__(self):
print("Base One")
def func_one(self):
print("One")

class BaseTwo:
def __init__(self):
print("Base Two")
def func_two(self):
print("Two")

class Derived(BaseOne, BaseTwo):
pass

my_var = Derived()
# print(Derived.mro())

print(my_var.func_one)
print(my_var.func_two)

my_var.func_one()
my_var.func_two()

class Base:
pass
class DerivedOne(Base):
pass
class DerivedTwo(DerivedOne):
pass

wdjamilmh
Автор

صباح الفل اقسم بالله بتشربنا ال oop ب معلقه !! هو في كدا طب 😂😂❤️❤️❤️❤️

Oneey
Автор

ممكن سؤال يا استاذ اسامة
لو في عندي class1
وعندي class2 يورث من class1
وعندي class 3 يورث من class2+class1
هل راح يصير في تكرار في الmethods ولا ايه؟

hassnienqaies
Автор

رووووعه استاذ اسامة و لو انك بعد اذن حضرتك نسي حاجة بسيطة في للاوفرايد لما تريد تورث فانكسيون و النستانس تستدعي المتود يعني تعرف منين انها الباز و الا درايفد لازم تحدي السوبر للباز و شكراااااا و اعتذر من حظرنك

popzelda
Автор

هو ممكن اخلي الاتنين يفتحو علي بعض😅
يعني مثلا انا خليت الdrived تورث من الbase بعد كده ضيفت حاجه فالdrived هل ممكن اورث الحاجه دي للbase.

faresalaa
Автор

طب ازاي based one and two ..الmethod واخده نفس address

moahmedasad
Автор

تقريبا النوع دا في ال inheritance اسمه multilevel مش multiple

newmasterwr