@EarthFM

Что такое агрегация?

Не могу понять с агрегацией классов в java.
Есть классы Human и House, а также класс Main. Там есть ещё классы, но их не беру.

Не могу понять запись private Human human(Что это объект или простая переменная) и return human.getName();
Также в классе Main. Human houseOwner = student;(Что здесь создали? )

package com.lesson;

public class House {

    private Human human;

    public Human getHuman() {
        return human;
    }

    public void setHuman(Human human) {

        this.human = human;
    }

    public String getOwnerNAme() {
        return human.getName();
    }
}


package com.lesson;

public class Human {

    private static final String N_A = "N_A";
    private final String name;
    
    private int age;


    public Human(String name) {

        this.name = name;
        System.out.println("No");
    }

    public String getName() {
        return name;
    }

    public int getAge() {

        return age;
    }
}


package com.lesson;

public class Main {

    public static void main(String[] args) {

        Human human = new Human("Ilya");
        System.out.println(human.getName());

        System.out.println("~~~~~~~~~~~~~");

        Student student = new Student("Roma");
        System.out.println(student.getName());

        System.out.println("~~~~~~~~~~~~~~~");

        House house = new House();
        Human houseOwner = student;
        house.setHuman(houseOwner);
        System.out.println("Owner name " + house.getOwnerNAme());
        System.out.println("~~~~~~~~~~~~~~~");

    }
}
  • Вопрос задан
  • 2606 просмотров
Пригласить эксперта
Ответы на вопрос 2
vlad20012
@vlad20012
Я писал, пишу и буду писать один и тот же ответ - читайте умные книжки, прежде чем задавать подобные вопросы. Лень читать все - посмотрите оглавление. Там вы найдете собственные вопросы и развернутые ответы на них. Ибо ваш вопрос даже не по Java, а по самым основам программирования на любом языке и с любой парадигмой.
Ответ написан
Комментировать
GavriKos
@GavriKos
Не могу понять запись private Human human

Это член класса House с типом Human

Human houseOwner = student;

Присвоили переменной houseOwner ранее созданный объект student. Если я правильно помню джаву - то теперь в houseOwner хранится то же, что и в student, т.е. копия. Но при изменении одного не поменяется другое.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы