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: 機能を継承し、追加する子(サブ)クラス# 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によるオブジェクト指向プログラミング入門