This repository is a short exercise designed for you to explore Encapsulation which is one of the four pillars of Object-Oriented Programming (OOP).
-
Fork this repository
-
To run the program, go to the Main class which is the entry point and run it using IntelliJ
-
There are two models
DodgyBankAccount
andSecureBankAccount
, these are located in the model directory.
Use the following questions to guide your exploration and learning! 🗺
-
Run the
main
method on theMain
class, what is it doing? What is being outputted to the console? -
Look at the
DodgyBankAccount
, this class is not well-encapsulated. Can you note down the problems with how the class is designed, and the ways it is being misused? -
Compare and contrast the
DodgyBankAccount
and theSecureBankAccount
, how is theSecureBankAccount
different to theDodgyBankAccount
? How is it designed to prevent it from being misused? Are there instances of better method names for clearer abstraction?