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 {
}