Rzutowanie – typy złożone, instanceof

package pl.am.object2.lesson34;

public class TypyZlozone {
    public static void main(String[] args) {
        Object object1 = new Object();
        Object object2 = new Prostokat(2, 3);
        Object object3 = new Kwadrat(6);

        Trojkat trojkat = new Trojkat();

        Object object4 = trojkat;

        //Kwadrat kwadrat3 = (Kwadrat)object4;

        Prostokat prostokat1 = (Prostokat) object2;

        Prostokat prostokat2 = new Kwadrat(4);

        if (object3 instanceof Kwadrat) {
            Kwadrat kwadrat1 = (Kwadrat)object3;
            System.out.println(kwadrat1);
        }

        System.out.println(object1);
        System.out.println(object2);
        System.out.println(object3);

        System.out.println(prostokat1);
    }
}
package pl.am.object2.lesson34;

public class Prostokat {
    protected final double a;
    protected final double b;

    public Prostokat(double a, double b) {
        this.a = a;
        this.b = b;
    }

    public double getA() {
        return a;
    }

    public double getB() {
        return b;
    }

    public double obliczPole() {
        return a * b;
    }

    public double obliczObwod() {
        return 2*a + 2*b;
    }

    @Override
    public String toString() {
        return "Prostokat{" +
                "a=" + a +
                ", b=" + b +
                ", pole=" + obliczPole() +
                ", obwód=" + obliczObwod() +
                '}';
    }
}
package pl.am.object2.lesson34;

public class Kwadrat extends Prostokat {

    public Kwadrat(double bok) {
        super(bok, bok);
    }

    public double getBok() {
        return a;
    }

    @Override
    public String toString() {
        return "Kwadrat{" +
                "bok=" + a +
                ", pole=" + obliczPole() +
                ", obwód=" + obliczObwod() +
                '}';
    }
}
package pl.am.object2.lesson34;

public class Trojkat {
}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *