#!/usr/bin/env python # # a simple Bank/Savings account inheritance example # # written by e.bonakdarian december 2010 # import random ############################################## # our BankAccount class ############################################## class BankAccount: # our constructor - called automatically # to initialize our attributes def __init__(self, name, init_balance): self.balance = init_balance self.name = name self.account_number = random.randint(100000, 999999) #silly def deposit(self, amt): self.balance += amt def withdraw(self, amt): self.balance -= amt def get_balance(self): return self.balance def get_name(self): return self.name def get_number(self): return self.account_number ############################################## # our SavingAccount class ############################################## class SavingAccount(BankAccount): def __init__(self, int_rate, name, balance): BankAccount.__init__(self, name, balance) self.int_rate = int_rate def get_interest_rate(self): return self.int_rate if __name__ == '__main__': print 'checking out BankAccount class ...' ba = BankAccount('Anil', 50.0) print 'Account belongs to "%s"' % ba.get_name() print 'Account number : %d' % ba.get_number() print 'Current balance: $%.2f\n' % ba.get_balance() deposit_amt = 167.50 print 'depositing $%.2f\n' % deposit_amt ba.deposit(deposit_amt) print 'Current balance: $%.2f\n' % ba.get_balance() # i_rate = ba.get_interest_rate() # print 'Current interest rate: $%.2f\n' % i_rate print '----------------------\n' print 'checking out SavingAccount class ...' sa = SavingAccount(0.02, 'Jasmin',50.0) print 'Account belongs to "%s"' % sa.get_name() print 'Account number : %d' % sa.get_number() print 'Current balance: $%.2f\n' % sa.get_balance() deposit_amt = 167.50 print 'depositing $%.2f\n' % deposit_amt sa.deposit(deposit_amt) print 'Current balance: $%.2f\n' % sa.get_balance() i_rate = sa.get_interest_rate() print 'Current interest rate: $%.2f\n' % i_rate