Как добиться абстракции без использования интерфейсов и абстрактных классов в Java - PullRequest
0 голосов
/ 21 мая 2018

Мне задавали этот вопрос в одном из моих интервью, и до сих пор нет ответа на него.Если под абстракцией мы имеем в виду только то, что вы не можете создать экземпляр объекта (как это применимо для интерфейсов и абстрактных классов), так что иметь закрытый конструктор - это ответ?Абстракция объясняется по-разному во всем Интернете.Даже использование System.out.println является абстракцией, так как мы не знаем деталей этого.Использование фабричных классов также является абстракцией, так как мы не знаем, какой подкласс будет создан.Вызов любого метода в API - это тоже абстракция.Сейчас я на самом деле запутался в том, что интервьюер хотел получить в качестве ответа.

1 Ответ

0 голосов
/ 21 мая 2018

Абстракция - это скрытое внедрение, например, то, как педаль газа в автомобиле отвлекает вас от различных сложностей, связанных с движением автомобиля.

Простой способ сделать это - просто использовать private членов.GetActiveServers() не может вызывать методы private или методы 5 private.На самом деле это не имеет значения, когда мы его используем, при условии, что он работает эффективно по мере необходимости.

Я думаю, что он пытался обмануть вас из-за того, что сортировка ключевых слов abstract означает что-то отличное отabstraction, но это не совсем не связано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...