Hermetyzacja: klasa Car z getterami i setterami
Klasy i obiekty - Podstawy Javy (Java)
Klasa Car stosuje hermetyzację, gdzie pola make, model i year są prywatne. Dostęp do pól odbywa się za pomocą getterów i setterów. Konstruktor inicjalizuje wszystkie pola i weryfikuje poprawność roku. Metoda displayInfo() wyświetla informacje o samochodzie w formacie czytelnym dla użytkownika. W metodzie main zademonstrowano zarówno poprawne, jak i niepoprawne przypadki użycia setterów.
public class Car {
// Prywatne pola
private String make;
private String model;
private int year;
// Konstruktor
public Car(String make, String model, int year) {
this.make = make;
this.model = model;
if (year > 1885) { // Pierwszy samochód wynaleziono w 1886 roku
this.year = year;
} else {
System.out.println("Podano niepoprawny rok. Ustawiono rok 1886.");
this.year = 1886;
}
}
// Gettery
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public int getYear() {
return year;
}
// Settery
public void setMake(String make) {
this.make = make;
}
public void setModel(String model) {
this.model = model;
}
public void setYear(int year) {
if (year > 1885) {
this.year = year;
} else {
System.out.println("Rok musi być większy niż 1885.");
}
}
// Metoda wyświetlająca dane samochodu
public void displayInfo() {
System.out.println("Samochód: " + make + " " + model + ", Rok: " + year);
}
// Metoda główna do demonstracji
public static void main(String[] args) {
// Tworzenie obiektu Car
Car car = new Car("Toyota", "Corolla", 2020);
// Wyświetlanie informacji
car.displayInfo();
// Aktualizacja modelu
car.setModel("Camry");
car.displayInfo();
// Próba ustawienia niepoprawnego roku
car.setYear(1800);
car.displayInfo();
}
} Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.