Загрузка данных


// 1. Абстрактный класс
abstract class Mebel {
    protected double rozmiar; // размер
    protected double masa;    // масса

    public Mebel(double rozmiar, double masa) {
        this.rozmiar = rozmiar;
        this.masa = masa;
    }

    // Абстрактные методы, которые должны быть реализованы в подклассах
    public abstract void wyswietlDane();
    public abstract void zmienParametry(double nowyRozmiar, double nowaMasa);
}

// 2. Производный класс: Krzeslo (Стул)
class Krzeslo extends Mebel {
    private String nazwa;

    public Krzeslo(String nazwa, double rozmiar, double masa) {
        super(rozmiar, masa);
        this.nazwa = nazwa;
    }

    @Override
    public void wyswietlDane() {
        System.out.println("Mebel: " + nazwa + " | Rozmiar: " + rozmiar + " | Masa: " + masa + " kg");
    }

    @Override
    public void zmienParametry(double nowyRozmiar, double nowaMasa) {
        this.rozmiar = nowyRozmiar;
        this.masa = nowaMasa;
        System.out.println("Parametry krzesla zostaly zmienione.");
    }
}

// 2. Производный класс: Stol (Стол)
class Stol extends Mebel {
    private String nazwa;

    public Stol(String nazwa, double rozmiar, double masa) {
        super(rozmiar, masa);
        this.nazwa = nazwa;
    }

    @Override
    public void wyswietlDane() {
        System.out.println("Mebel: " + nazwa + " | Rozmiar: " + rozmiar + " | Masa: " + masa + " kg");
    }

    @Override
    public void zmienParametry(double nowyRozmiar, double nowaMasa) {
        this.rozmiar = nowyRozmiar;
        this.masa = nowaMasa;
        System.out.println("Parametry stolu zostaly zmienione.");
    }
}

// Класс для проверки работы программы
public class Main {
    public static void main(String[] args) {
        Krzeslo mojekrzeslo = new Krzeslo("Krzeslo Biurowe", 1.2, 5.5);
        Stol mojStol = new Stol("Stol Debowy", 2.5, 20.0);

        mojekrzeslo.wyswietlDane();
        mojStol.wyswietlDane();

        System.out.println("--- Aktualizacja ---");
        mojStol.zmienParametry(3.0, 25.0);
        mojStol.wyswietlDane();
    }
}