Java использует 2 разных типа объектов в качестве поля в классе - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть класс, который может принимать разные объекты в качестве поля для выполнения тех же целей, как показано ниже:

public class Project {
    private int id;
    private String title;
    private String description;

    private Implementer implementer;
    .....
}

Реализатором может быть отдельный человек (с такими полями, как firstName, lastName и т. Д.) Иликомпания (с такими полями, как companyName, отрасль и т. д.).Как сделать так, чтобы исполнитель ссылался на эти два типа (индивидуальный и корпоративный).Примечание. Я не хочу, чтобы они расширяли общий базовый класс, поскольку у них нет общих полей.

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Создать маркер интерфейс :

public interface Implementor {
}

Изменить классы на реализовать этот интерфейс:

public class Company implements Implementor {
    ...
}

public class Individual implements Implementor {
    ...
}

Теперь оба из следующихназначения действительны:

Implementor implementor;
...
implementor = new Company();
implementor = new Individual();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...