Intern
Jak wypełnić atrybuty w klasie?
sobes.tech AI
Odpowiedź od AI
- Użycie setterów. Najbardziej powszechna metoda zapewniająca walidację danych.
- Konstruktor. Pozwala na inicjalizację atrybutów podczas tworzenia obiektu.
- Bezpośredni dostęp. Dotyczy publicznych (public) atrybutów, ale jest uważany za złą praktykę (naruszenie enkapsulacji).
- 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;
}