Dziedziczenie wielopoziomowe

Zasady inżynierii oprogramowania w Pythonie

Adam Spannbauer

Machine Learning Engineer at Eastman

Tworzenie klasy Tweet

  Plik klasy Tweet

Zasady inżynierii oprogramowania w Pythonie

Dziedziczenie wielopoziomowe

Drzewo dziedziczenia

Zasady inżynierii oprogramowania w Pythonie

Dziedziczenie wielopoziomowe

Rozszerzone drzewo dziedziczenia wielopoziomowego

Zasady inżynierii oprogramowania w Pythonie

Dziedziczenie wielokrotne

Drzewo dziedziczenia wielokrotnego

Zasady inżynierii oprogramowania w Pythonie

Dziedziczenie wielopoziomowe i 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!")

Dowiedz się więcej o dziedziczeniu wielokrotnym i super().

Zasady inżynierii oprogramowania w Pythonie

Dziedziczenie wielopoziomowe i 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!
Zasady inżynierii oprogramowania w Pythonie

Śledzenie dziedziczonych atrybutów

# 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']
Zasady inżynierii oprogramowania w Pythonie

Ćwiczenia

Zasady inżynierii oprogramowania w Pythonie

Preparing Video For Download...