Использует метод toString () в качестве примера абстракции - PullRequest
0 голосов
/ 09 мая 2018

Если абстракция определена как скрывающая детали реализации, то будет ли это означать, что вызов метода toString является примером абстракции?

Ответы [ 4 ]

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

Абстракция означает, определить соответствующую часть реального мира. Вы, вероятно, смешаете типичное ключевое слово языка ООП abstract , которое является скорее объявлением интерфейса. Как Википедия говорит:

Абстрактные типы полезны тем, что их можно использовать для определения и применения протокола; набор операций, которые должны поддерживать все объекты, реализующие протокол.

Таким образом, это абстракция с точки зрения принципов ООП, но каждая модель реального мира, которую вы создаете, является абстракцией, поэтому она определяет класс.

Сокрытие деталей реализации - это скорее часть инкапсуляции .

Поправь меня, если я ошибаюсь.

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

Да.

Поскольку toString является методом экземпляра, определенным классом Object, его вызов является виртуальным. Следовательно, он скрывает детали поведения от вызывающей стороны, что делает его примером абстракции.

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

Абстракция означает добавление в ваш дизайн / код только тех компонентов, которые требуются вашему приложению.

Скрытие деталей реализации - это инкапсуляция.


Реализация toString() является еще одним примером инкапсуляции. Причина: объект решает, какую информацию о себе он хочет передать потоку вывода.


См. это для подробного объяснения.

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

В java корневой класс Object имеет метод toString по умолчанию, каждый подкласс наследует этот метод (хотя обычно он переопределяется), это пример абстракции.

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