Published 10月 02, 2018 by with 0 comment

習題44 - 繼承與組合



今天練習的是class(類)的繼承.
有三種. 隱式繼承, 顯式覆蓋, 在運行前/後替換

用Notepad++打下列的程式碼,
另存為ex44.py. 我附上中文注釋方便好讀.
# 定義一個類叫Parent
class Parent(object):
    # 定義一個函數叫override, 並列印出下面那一行字.
    def override(self):
        print("PARENT override()")

    # 定義一個函數叫implicit, 並列印出下面那一行字.
    def implicit(self):
        print("PARENT implicit()")
    # 定義一個函數叫altered, 並列印出下面那一行字.
    def altered(self):
        print("PARENT altered()")

# 定義一個類叫Child, 並繼承父類(Parent)的行為
class Child(Parent):
    # 定義一個函數叫override, 並列印出下面那一行字.
    def override(self):
        print("CHILD override()")
    # 定義一個函數叫altered, 並列印出下面那一行字.
    def altered(self):
        print("CHILD, BRFORE PARENT altered()")
        # super可以調用父類
        super(Child, self).altered()
        print("CHILD AFTER PARENT altered()")
       
dad = Parent()
son = Child()

# 這裡的son.implicit會隱式繼承父類的implicit函數
dad.implicit()
son.implicit()

# 這裡的son.override會顯式覆蓋父類的override函數
dad.override()
son.override()

# 這裡的son.altered會運行前/後替換父類的altered函數
dad.altered()
son.altered()

然後用Windows的cmd, 執行python.
C:\Windows\System32>cd C:\Users\Peter\Desktop\Python\LP3THW
C:\Users\Peter\Desktop\Python\LP3THW>python ex44.py
PARENT implicit()
PARENT implicit()
PARENT override()
CHILD override()
PARENT altered()
CHILD, BRFORE PARENT altered()
PARENT altered()
CHILD AFTER PARENT altered()

C:\Users\Peter\Desktop\Python\LP3THW>

完成


最初發表 / 最後更新: 2018.10.02 / 2018.10.02

0 comments:

張貼留言