Question
Consider the following Java code that implements
encapsulation: class BankAccount {   private double balance;   public BankAccount(double initialBalance) {     if (initialBalance > 0) {       this.balance = initialBalance;     } else {       this.balance = 0;     }}   public double getBalance() {     return balance;   }   public void deposit(double amount) {     if (amount > 0) {       balance += amount;     }}   public void withdraw(double amount) {     if (amount > 0 && amount       balance -= amount; Which of the following statements is TRUE about the BankAccount class?Solution
The getBalance method allows indirect access to the balance variable. The BankAccount class demonstrates encapsulation, one of the key principles of Object-Oriented Programming (OOP). Encapsulation refers to the practice of hiding the internal state of an object and allowing access to it only through public methods. In this case, the balance variable is declared as private, meaning it cannot be accessed directly from outside the class. However, the class provides a public getBalance method, which allows indirect access to the balance by returning its value.The getBalance method maintains the principle of encapsulation because it provides controlled access to the internal state (balance) of the object. This way, the class maintains control over how the balance is accessed and modified. This ensures that only valid operations (e.g., checking the balance, depositing, and withdrawing) can be performed, protecting the integrity of the balance variable. Why Other Options Are Wrong: Option 1: The balance variable can be directly accessed and modified outside the class.This option is incorrect because the balance variable is declared as private, which means it cannot be accessed or modified directly from outside the BankAccount class. Any access to the balance must be done through the provided public methods (getBalance, deposit, withdraw). Option 2: The BankAccount class does not follow the principle of encapsulation because the methods are public.This option misunderstands encapsulation. Encapsulation is about protecting the internal state by making variables private and exposing only necessary behavior through public methods. The BankAccount class follows this principle because the balance variable is private, and access is controlled through the public methods. Hence, this option is incorrect. Option 3: The withdraw method can reduce the balance to a negative value.This option is incorrect because the withdraw method checks that the amount to be withdrawn is less than or equal to the current balance. If the withdrawal amount exceeds the balance, the operation is not performed, ensuring that the balance does not become negative. Option 5: The deposit method does not check for negative amounts, allowing invalid deposits.This option is incorrect because the deposit method includes a check to ensure that only positive amounts are deposited. If the amount is negative or zero, the deposit is not processed. Hence, invalid deposits are prevented by the method.
Which is a contact insecticide?
Which one is not a viral disease?
Bengal famine (1943) was caused due to ____ disease which attacked ____ crop.
CAM plants are adapted to which type of environment?
Which disease in barley is caused by the fungus Ustilago hordei?
Choose the correct option
Assertion (A): Black soils have swelling and shrinking characteristics
Reason(R): Black soils are rich in montmo...
Dieback in citrus and cracking of apple is due to the deficiency of
In waterlogged lands
Sky radiation is the radiation scattered by suspended particles in the atmosphere. It is also known as:
Which of the following statement is correct regarding Gymnosperms?