Object Models represent the data structure for the application.
Budget Category Object Models
Each object ultimately inherits from the BaseObject class. BudgetCategory and BudgetItem are sibling classes, but BudgetItem is also further subclassed into IncomeItem or ExpenseItem. A BudgetCategory object holds a collection of zero or more related BudgetItem objects.
Banking Object Models
Also inheriting from BaseObject is another abstract class, BankAccount, that serves as base class for either CheckingAccount or SavingsAccount objects.