Python 面向对象编程
Alex Yarosh
Content Quality Analyst @ DataCamp



$$\Large{\text{新类功能 = 旧类功能 + 额外功能}}$$




class BankAccount:
def __init__(self, balance):
self.balance = balance
def withdraw(self, amount):
self.balance -= amount
# 继承自 BankAccount 的空类
class SavingsAccount(BankAccount):
pass
class MyChild(MyParent):
# Do stuff here
MyParent:被扩展/继承功能的类 MyChild:继承该功能并添加更多的类# 从 BankAccount 继承的构造函数
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# 从 BankAccount 继承的属性
savings_acct.balance
1000
# 从 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 面向对象编程