Héritage multiniveau

Principes d'ingénierie logicielle en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Créer une classe Tweet

  Fichier de la classe Tweet

Principes d'ingénierie logicielle en Python

Héritage multiniveau

Arbre généalogique d'héritage

Principes d'ingénierie logicielle en Python

Héritage multiniveau

Arbre d'héritage multiniveau étendu

Principes d'ingénierie logicielle en Python

Héritage multiple

Arbre d'héritage multiple

Principes d'ingénierie logicielle en Python

Héritage multiniveau et super

class Parent:
    def __init__(self):
        print("I'm a parent!")


class Child(Parent):
    def __init__(self):
        Parent.__init__()
        print("I'm a child!")

class SuperChild(Child): def __init__(self): super().__init__() print("I'm a super child!")

En savoir plus sur l'héritage multiple et super().

Principes d'ingénierie logicielle en Python

Héritage multiniveau et super

class Parent:
    def __init__(self):
        print("I'm a parent!")

class SuperChild(Parent):
    def __init__(self):
        super().__init__()
        print("I'm a super child!")

class Grandchild(SuperChild): def __init__(self): super().__init__() print("I'm a grandchild!")
grandchild = Grandchild()
I'm a parent!
I'm a super child!
I'm a grandchild!
Principes d'ingénierie logicielle en Python

Suivre les attributs hérités

# Create an instance of SocialMedia
sm = SocialMedia('@DataCamp #DataScience #Python #sklearn')

# What methods does sm have? ¯\_(ツ)_/¯ dir(sm)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', 
'__str__', '__subclasshook__', '__weakref__', '_count_hashtags', 
'_count_mentions', '_count_words', '_tokenize', 'hashtag_counts', 
'mention_counts', 'text', 'tokens', 'word_counts']
Principes d'ingénierie logicielle en Python

Passons à la pratique !

Principes d'ingénierie logicielle en Python

Preparing Video For Download...