Objektorientierte Programmierung in Python
Alex Yarosh
Content Quality Analyst @ DataCamp



$$\Large{\text{Neue Klassenfunktionalität = Alte Klassenfunktionalität + extra}}$$




class BankAccount:
def __init__(self, balance):
self.balance = balance
def withdraw(self, amount):
self.balance -= amount
# Leere Klasse von BankAccount geerbt
class SavingsAccount(BankAccount):
pass
class MyChild(MyParent):
# Hier etwas tun
MyParent: Klasse, deren Funktionalität erweitert/vererbt wird MyChild: Klasse, die die Funktionalität erbt und erweitert# Konstruktor von BankAccount geerbt
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# Attribut von BankAccount geerbt
savings_acct.balance
1000
# Methode von BankAccount geerbt
savings_acct.withdraw(300)
Ein SavingsAccount ist ein BankAccount
(möglicherweise mit speziellen Funktionen)
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
Objektorientierte Programmierung in Python