Menu
Coddy logo textTech

Pola (atrybuty)

Część sekcji Programowanie obiektowe ścieżki Java w Coddy. Lekcja 6 z 87.

Pola (atrybuty) to zmienne, które przechowują dane wewnątrz klasy. Zazwyczaj są private i uzyskuje się do nich dostęp za pomocą metod pobierających i ustawiających.

Deklarowanie pól

public class Person {
    private String name;
    private int age;
}

Dodawanie metod pobierających i ustawiających

public class Person {
    private String name;
    private int age;
    
    public String getName() {
        return this.name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return this.age;
    }
    
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

Korzystanie z klasy

Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName());  // Alice

Ustawianie pól jako private nazywamy enkapsulacją. Chroni ona dane, kontrolując dostęp do nich za pomocą metod, co pozwala dodawać walidację w setterach.

challenge icon

Wyzwanie

Średni

Utwórz klasę BankAccount z polami prywatnymi i metodami pobierającymi:

  • Pola prywatne: accountName (String) i balance (double)
  • Konstruktor ustawiający oba pola
  • Metody pobierające dla każdego pola
  • Metoda deposit() dodająca pieniądze
  • Metoda withdraw(), która zwraca "Success" lub "Insufficient funds"

Spróbuj swoich sił

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double initial = Double.parseDouble(scanner.nextLine());
        double deposit = Double.parseDouble(scanner.nextLine());
        
        BankAccount account = new BankAccount(name, initial);
        
        System.out.println("Account: " + account.getAccountName());
        System.out.println("Balance: " + account.getBalance());
        
        account.deposit(deposit);
        System.out.println("After deposit: " + account.getBalance());
        
        String result = account.withdraw(2000);
        System.out.println("Withdraw 2000: " + result);
        System.out.println("Final Balance: " + account.getBalance());
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Java online