Konto bankowe: prywatne pole, getter i setter

Klasy i obiekty - Podstawy Javy (Java)

Pole balance jest prywatne, co oznacza, że można je odczytać lub zmienić tylko za pomocą getterów i setterów. Konstruktor umożliwia ustawienie salda początkowego, z weryfikacją, czy nie jest ujemne. Getter getBalance() zwraca wartość pola balance. Setter setBalance(double amount) umożliwia ustawienie nowego salda, sprawdzając, czy wartość jest nieujemna. W metodzie main zademonstrowano użycie getterów i setterów oraz zabezpieczenie przed niepoprawnymi danymi.

public class BankAccount {
  // Pole prywatne
  private double balance;

  // Konstruktor
  public BankAccount(double initialBalance) {
    if (initialBalance >= 0) {
      this.balance = initialBalance;
    } else {
      this.balance = 0;
      System.out.println("Saldo początkowe nie może być ujemne. Ustawiono 0.");
    }
  }

  // Getter
  public double getBalance() {
    return balance;
  }

  // Setter
  public void setBalance(double amount) {
    if (amount >= 0) {
      this.balance = amount;
    } else {
      System.out.println("Saldo nie może być ujemne.");
    }
  }

  // Metoda główna do demonstracji
  public static void main(String[] args) {
    // Tworzenie obiektu BankAccount
    BankAccount account = new BankAccount(1000);

    // Pobranie salda
    System.out.println("Saldo początkowe: " + account.getBalance());

    // Ustawienie nowego salda
    account.setBalance(500);
    System.out.println("Nowe saldo: " + account.getBalance());

    // Próba ustawienia niepoprawnego salda
    account.setBalance(-200);
    System.out.println("Saldo po nieudanej próbie: " + account.getBalance());
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.