in line we call the constructor method of the account class herewe need to explicitly pass on the self parameterbecause we are not calling the method 'on an object'but 'on the classby passing on the self parameterpython will know which object to operate on when it executes the constructor method of the account class in generalwe can call any method of superclass in this waynot only the constructor method for instancewe could implement the withdraw method in very general way in the base classand do all the consistency checking in the subclassesas shown in the following example (in this casewe're not really saving lines of codebut in more complex casethe method in the superclass might be more complexand then it really makes sense to structure your code like this class account def withdraw(selfamount) self balance -amount class savingsaccount(account) methods def withdraw(selfamount) ''balance must be '' if amount self balance amount self balance cash account withdraw(selfamount return cash class checkingaccount(account) ''class for objects representing checking accounts shows how methods can be overridden '' constructor def __init__(selfnumpersoncredit_range) account __init__(selfnumperson self credit_range credit_range methods def withdraw(selfamount) ''balance must be credit range '' amount min(amount abs(self balance self credit_range) cash account withdraw(selfamount return cash annemarie friedrichcis lmu munchenws /