Agregacja – zawieranie

package pl.am.object2.lesson45;

public class Test {
    public static void main(String[] args) {
        Farma farma = new Farma();
        farma.setPies(new Pies("łatek", 15));
        farma.setKot(new Kot("mruczek", 3));

        farma.dodajZwierze(new Kura(1.9));
        farma.dodajZwierze(new Kura(2.1));
        farma.dodajZwierze(new Kura(2));
        farma.dodajZwierze(new Kura(1.5));
        farma.dodajZwierze(new Kura(2.5));
        farma.dodajZwierze(new Krowa(150));
        farma.dodajZwierze(new Krowa(150));

        System.out.println("Mam " + farma.getIloscKrow() + " krów, oraz "
                + farma.getIloscKur() + " kur");

        System.out.println("Kury: ");
        Farma.wypiszZwierzeta(farma.getKury());

        System.out.println("Krowy: ");
        Farma.wypiszZwierzeta(farma.getKrowy());

    }
}
package pl.am.object2.lesson45;

import java.util.ArrayList;

public class Farma {
    private Kot kot;
    private Pies pies;
    private ArrayList<Zwierze> kury = new ArrayList<>();
    private ArrayList<Zwierze> krowy = new ArrayList<>();

    public Kot getKot() {
        return kot;
    }

    public void setKot(Kot kot) {
        this.kot = kot;
    }

    public Pies getPies() {
        return pies;
    }

    public void setPies(Pies pies) {
        this.pies = pies;
    }

    public ArrayList<Zwierze> getKury() {
        return kury;
    }

    public ArrayList<Zwierze> getKrowy() {
        return krowy;
    }

    public int getIloscKur() {
        return kury.size();
    }

    public int getIloscKrow() {
        return krowy.size();
    }

//    public void dodajZwierze(Zwierze zwierze) {
//        if (zwierze instanceof Krowa) {
//            krowy.add(zwierze);
//        }
//
//        if (zwierze instanceof Kura) {
//            kury.add(zwierze);
//        }
//    }

    public void dodajZwierze(Kura kura) {
        kury.add(kura);
    }

    public void dodajZwierze(Krowa krowa) {
        krowy.add(krowa);
    }

    public static void wypiszZwierzeta(ArrayList<Zwierze> zwierzeta) {
        for (Zwierze zwierze :zwierzeta) {
            System.out.println(zwierze);
        }
    }
}

Dodaj komentarz

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