Levels of Inheritance and Method Resolution Order

Object-Oriented Programming in Python: Aided with Diagrams Levels of Inheritance and Method Resolution Order
7 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€46
List Price:  €64.41
You save:  €18.40
£38.50
List Price:  £53.91
You save:  £15.40
CA$69.58
List Price:  CA$97.41
You save:  CA$27.83
A$76.10
List Price:  A$106.55
You save:  A$30.44
S$66.06
List Price:  S$92.49
You save:  S$26.42
HK$388.60
List Price:  HK$544.07
You save:  HK$155.47
CHF 43.25
List Price:  CHF 60.56
You save:  CHF 17.30
NOK kr548.23
List Price:  NOK kr767.56
You save:  NOK kr219.33
DKK kr343.21
List Price:  DKK kr480.52
You save:  DKK kr137.31
NZ$83.69
List Price:  NZ$117.18
You save:  NZ$33.48
د.إ183.61
List Price:  د.إ257.07
You save:  د.إ73.45
৳5,962.77
List Price:  ৳8,348.35
You save:  ৳2,385.58
₹4,203.71
List Price:  ₹5,885.53
You save:  ₹1,681.82
RM218.89
List Price:  RM306.47
You save:  RM87.57
₦82,070.58
List Price:  ₦114,905.38
You save:  ₦32,834.80
₨13,861.09
List Price:  ₨19,406.64
You save:  ₨5,545.54
฿1,686.81
List Price:  ฿2,361.67
You save:  ฿674.86
₺1,712.24
List Price:  ₺2,397.27
You save:  ₺685.03
B$288.14
List Price:  B$403.42
You save:  B$115.28
R886.41
List Price:  R1,241.05
You save:  R354.63
Лв90.03
List Price:  Лв126.05
You save:  Лв36.02
₩68,895.20
List Price:  ₩96,458.79
You save:  ₩27,563.59
₪186.25
List Price:  ₪260.77
You save:  ₪74.51
₱2,910.76
List Price:  ₱4,075.30
You save:  ₱1,164.54
¥7,626.43
List Price:  ¥10,677.61
You save:  ¥3,051.18
MX$1,006.17
List Price:  MX$1,408.72
You save:  MX$402.55
QR181.95
List Price:  QR254.74
You save:  QR72.79
P668.87
List Price:  P936.47
You save:  P267.60
KSh6,436.71
List Price:  KSh9,011.91
You save:  KSh2,575.20
E£2,444.96
List Price:  E£3,423.14
You save:  E£978.18
ብር6,117.36
List Price:  ብር8,564.80
You save:  ብር2,447.43
Kz45,590.88
List Price:  Kz63,830.88
You save:  Kz18,240
CLP$48,067.30
List Price:  CLP$67,298.07
You save:  CLP$19,230.76
CN¥355.82
List Price:  CN¥498.18
You save:  CN¥142.36
RD$3,004.58
List Price:  RD$4,206.65
You save:  RD$1,202.07
DA6,671.07
List Price:  DA9,340.03
You save:  DA2,668.96
FJ$113.87
List Price:  FJ$159.43
You save:  FJ$45.56
Q385.65
List Price:  Q539.94
You save:  Q154.29
GY$10,439.34
List Price:  GY$14,615.91
You save:  GY$4,176.57
ISK kr6,831.13
List Price:  ISK kr9,564.13
You save:  ISK kr2,733
DH491.88
List Price:  DH688.67
You save:  DH196.79
L894.84
List Price:  L1,252.84
You save:  L358
ден2,832.69
List Price:  ден3,965.99
You save:  ден1,133.30
MOP$399.42
List Price:  MOP$559.22
You save:  MOP$159.80
N$878.21
List Price:  N$1,229.56
You save:  N$351.35
C$1,836
List Price:  C$2,570.55
You save:  C$734.54
रु6,713.01
List Price:  रु9,398.75
You save:  रु2,685.74
S/188.17
List Price:  S/263.46
You save:  S/75.28
K199.92
List Price:  K279.90
You save:  K79.98
SAR187.75
List Price:  SAR262.87
You save:  SAR75.11
ZK1,328.53
List Price:  ZK1,860.04
You save:  ZK531.51
L228.84
List Price:  L320.40
You save:  L91.55
Kč1,166.86
List Price:  Kč1,633.70
You save:  Kč466.83
Ft18,787.20
List Price:  Ft26,303.58
You save:  Ft7,516.38
SEK kr534.04
List Price:  SEK kr747.70
You save:  SEK kr213.65
ARS$49,430.79
List Price:  ARS$69,207.07
You save:  ARS$19,776.27
Bs344.81
List Price:  Bs482.76
You save:  Bs137.95
COP$218,827.49
List Price:  COP$306,375.99
You save:  COP$87,548.50
₡25,565.20
List Price:  ₡35,793.32
You save:  ₡10,228.12
L1,258.85
List Price:  L1,762.49
You save:  L503.64
₲394,828.52
List Price:  ₲552,791.53
You save:  ₲157,963
$U2,059.62
List Price:  $U2,883.63
You save:  $U824.01
zł200.29
List Price:  zł280.43
You save:  zł80.13
Already have an account? Log In

Transcript

Hi. In this video we'll be discussing multiple inheritance, multi level inheritance and method resolution order. This is the extension of the inheritance in Python that we discussed in our last video. And I hope this is going to further enhance your learning and create a better understanding of how inheritance works within Python. So let's begin. Number one is multiple inheritance in Python.

Now, as we discussed inheritance in the last video, just repeating that inheritance is getting something from someone else. So, here we are actually getting something from different people. Or for example, if we are talking about within Python, then the child class gets inheritance from popular My father and mother both let's take the idea let's look at this in the form of example or the diagram. See, the DR class gets inheritance of attributes from the base class one and the base class two. So, when we access when we create a drive class, we pass base class base one and base two both into this third class that is multi derived class and it gets all the attributes of base one and base base two in this multi derived class. The syntax is for example, we created an inheritance once class one class and then an inheritance to class.

And then we created a third class that is multi inheritance and we we inherited attributes of inheritance, one and eight. inheritance to class in multi inheritance class. here we can also take the example of, for example, we created a class for airplane we created a class for bus and then we created a third class that is mode of transportation and that mode of transportation inherited attributes from both parent airplane class and bus class. So I hope now you're getting an idea of what multi level inheritance is. Now there is another type of inheritance that is multi level inheritance. So it's, it's a linear scenario.

Here when we created the base class, and then the drive class drive class inherited all the attributes of the base class. And then further we created another drive class inherited all the attributes of drive. Drive class, it was created earlier. So actually, it had inherited all the way attributes of drived one and the base class. So, this is another level of inheritance. Here we can take example of every person here in this world is an animal, then few of the animals are mammals and among mammals is the humans.

So, all humans are derived from mammals and all mammals are derived from animals. So, animal is the base class, then members is the drive class one and humans is the drive class two. In this scenario, there is also method resolution order, what it is how does the drive class access methods and attributes of the parent class or the base class, it has to have a certain resolution order and this is determined through method resolution. In order in Python, let's take the example that we discussed earlier class bird we created, it has an attribute read, it has a depth in it instance, that is that prints bird is ready it has a function of who is this, it has a method actually, of who is this, that Prince bird, and it has a method swim that prints swim faster. And then there is a penguin class that has an init method, it has a super function with the init method that gets all the content from the parent class of init parent class init method it has Who is this method.

So, the third is it has run method that prints run faster. So, if we talk about method resolution order, and we create a third class that is both that has the attributes of bird bird class that we just created, and the attribute of penguin class that we just created. So, when we go about instantiating the boat class with OBJ one and then calling the method Who is this what will it print will it print penguin or will it print bird because this both class has the attributes of bird and Penguin. So, the method resolution order tells that it should begin from left to right. And then when we call this function, when we call this method, it will print since the bird was first it will print this bird and if we change it, let's run this first. See the bird is ready.

And the bird bird is ready is printed because it has an init fire method in it. That prints bird is ready. It printed that And then who is this it printed birds. However, if we change the order, if you print penguin and then bird and then again rerun the code now it is printing bird is ready penguin is ready and then penguin because now it is executing this init method that has a super init method within it that calls both the bird is ready the penguin is ready and then who is it then it prints this penguin. I hope now, this is clear that how inheritance working works in Python, multiple inheritance multi level inter inheritance and a few scenarios within that that includes what writing classes super function etc. If you have any questions for you feel free to contact me I would be more than happy to answer you.

And if you have any specific topic that you want to learn, feel free to contact. There's a wonderful day ahead for you to apply your learning and move forward. Thank you

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.