Python 物件導向程式設計入門
George Boorman
Curriculum Manager, DataCamp



$$\Large{\text{新類別功能 = 舊類別功能 + 額外功能}}$$




class BankAccount: def __init__(self, balance): self.balance = balance def withdraw(self, amount): self.balance -= amount# Class inheriting from BankAccount class SavingsAccount(BankAccount): pass
BankAccount:被延伸/繼承功能的父類別 SavingsAccount:會繼承並擴充功能的子類別/子類# Constructor inherited from BankAccount
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# Attribute inherited from BankAccount
savings_acct.balance
1000
# Method inherited from BankAccount
savings_acct.withdraw(300)
「SavingsAccount 是一個 BankAccount」
(可能帶有特殊功能)
savings_acct = SavingsAccount(1000)
isinstance(savings_acct, SavingsAccount)
True
isinstance(savings_acct, BankAccount)
True
acct = BankAccount(500)
isinstance(acct, SavingsAccount)
False
isinstance(acct, BankAccount)
True
Python 物件導向程式設計入門