package pl.am.object2.lesson42;
public class Test0 {
public static void main(String[] args) {
Zwierze[] zwierzeta = new Zwierze[4];
zwierzeta[0] = new Pies("łatek", 15);
zwierzeta[1] = new Kot("mruczek", 3);
zwierzeta[2] = new Kura(2);
zwierzeta[3] = new Krowa(200);
for (int i = 0; i<zwierzeta.length; i++) {
zwierzeta[i].dajGlos();
}
}
}
package pl.am.object2.lesson42;
public class Kot extends ZwierzeDomowe {
public Kot(String nazwa, double masa) {
super(nazwa, masa);
}
@Override
public void dajGlos() {
System.out.println("miauuuuu");
}
}
package pl.am.object2.lesson42;
public class Krowa extends ZwierzeHodowlane {
private static int nextId = 1;
private int id;
public Krowa(double masa) {
super(masa);
id = nextId;
nextId++;
}
@Override
public void dajGlos() {
System.out.println("Muuuuuuuuuuu");
}
public double dajMleko() {
System.out.println("Dojenie krowy trwa...");
return masa*0.01;
}
}
package pl.am.object2.lesson42;
public class Kura extends ZwierzeHodowlane {
public Kura(double masa) {
super(masa);
}
@Override
public void dajGlos() {
System.out.println("ko ko ko ko ko ko");
}
public void zniesJajo() {
System.out.println("Jajo zostal zniesione");
}
}
package pl.am.object2.lesson42;
public class Pies extends ZwierzeDomowe {
public Pies(String nazwa, double masa) {
super(nazwa, masa);
}
@Override
public void dajGlos() {
System.out.println("hał hał");
}
public void podajLape() {
System.out.println("podaje łapę");
}
}
package pl.am.object2.lesson42;
public abstract class Zwierze {
protected double masa;
public Zwierze(double masa) {
this.masa = masa;
}
public abstract void dajGlos();
}
package pl.am.object2.lesson42;
public abstract class ZwierzeDomowe extends Zwierze {
protected String nazwa;
public ZwierzeDomowe(String nazwa, double masa) {
super(masa);
this.nazwa = nazwa;
}
}
package pl.am.object2.lesson42;
public abstract class ZwierzeHodowlane extends Zwierze {
public ZwierzeHodowlane(double masa) {
super(masa);
}
}