Object-oriented programming

This is a Python implementation of a BankAccount class. Encapsulation is achieved with private attributes and public methods, including 'getters and setters'. This would enable control over how attributes are changed, such as validation etc. In reality, balance would probably only be changed through deposit, withdraw and transfer procedures, so no set balance is written.