Sobes.tech
Intern

Jak wypełnić atrybuty w klasie?

sobes.tech AI

Odpowiedź od AI

  1. Użycie setterów. Najbardziej powszechna metoda zapewniająca walidację danych.
  2. Konstruktor. Pozwala na inicjalizację atrybutów podczas tworzenia obiektu.
  3. Bezpośredni dostęp. Dotyczy publicznych (public) atrybutów, ale jest uważany za złą praktykę (naruszenie enkapsulacji).
  4. API Reflection. Pozwala na ustawianie wartości prywatnych atrybutów podczas działania programu, należy używać ostrożnie.

Przykład z setterami:

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

    public void setName(String name) {
        if (name != null && !name.trim().isEmpty()) {
            this.name = name;
        }
    }

    public void setAge(int age) {
        if (age > 0) {
            this.age = age;
        }
    }

    // Gettery do dostępu do atrybutów
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Przykład z konstruktorem:

public class Car {
    private String make;
    private String model;

    public Car(String make, String model) {
        this.make = make;
        this.model = model;
    }

    // Gettery i ewentualnie settery
}

Przykład bezpośredniego dostępu (niezalecany):

public class Animal {
    public String species;
}