2017-01-24 2 views
-6

в java.io.File он говорит:В чем смысл «абстрактного представления»?

Абстрактное представление файлов и директорий для имен каталогов.

что делает абстрактное среднее в этом случае ?, почему не сказать

Представления файлов и каталогов имен путей.

много классов содержат это слово сказать сейчас, я не понимаю, что это означает ... может ли кто-нибудь помочь?

+3

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о семантике, а не о программировании. – Kayaman

+0

но это место для java или? –

+0

См. Http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html для быстрого урока по абстрактным классам. –

ответ

1

Читать дальше:

пользовательские интерфейсы и операционные системы используют системно-зависимый имени каталога строк имен файлов и каталогов. Этот класс представляет абстрактный, системно-независимый вид иерархических путей.

Аннотация в данном случае не имеет ничего общего с abstract classes, это говорит лишь о том, что это представление вид иерархических имен путей, которые не специфичны для определенной операционной системы. Противоположным было бы внедрение системы.

+0

Теперь я понимаю, что он делает –

+0

Я не думаю, что это обязательно, что это не конкретная реализация; в конце концов, 'java.util.List' не описывается как * абстрактное представление *. Я думаю, что это не сам объект * * (файл в файловой системе), а скорее местозаполнитель для представления этого, разработанный таким образом, который не связан с тем, как конкретная ОС представляет файлы. –

0

Это использование слова «абстрактный» отличается от более распространенного использования в Java (abstract, что означает, что метод или некоторые методы остаются нереализованными).

В данном случае аннотация предназначена для более широко понятых (за пределами Java) случаев, которые скрывают детали. Существует хорошая цитата на the Wikipedia page about abstraction:

Суть абстракций сохранения информации, которая имеет отношение в данном контексте, и забывая о том, что информация не имеет отношения в этом контексте.

- Джон В. Гуттаг

В некотором смысле, все в Java есть абстракция, и поэтому использование слова «абстрактном» здесь, пожалуй, излишне. Но тогда все также является «представлением»; так что слово, возможно, тоже не нужно.

(Также важно заметить, что это определение абстракции не означает abstract: ваша абстракция может иметь конкретную реализацию).

Я думаю, что есть несколько моментов, которые автор пытается передать, что вещи, которые вы, возможно, захотите, скрыты.: класс предназначен для того, чтобы вы могли делать «общие вещи», которые вы хотите сделать файл; но вы, возможно, не сможете получить доступ к требуемому вами ресурсу, и вы знаете, что он доступен в вашей ОС. Это просто выбор дизайна для использования языка, предназначенного для работы на всех платформах.

0

абстрактное представление пути к файлам и каталогам. Пользовательские интерфейсы и операционные системы используют зависящие от системы строки pathname , чтобы назвать файлы и каталоги. Этот класс представляет аннотации, системы независимого вида иерархических имен путей.

Это означает, что java предоставит вам путь, с которым вы можете работать. Это не обязательно должно быть фактическое/точное имя пути, которое использует пользовательский интерфейс или ОС. Следовательно, он «абстрактный», потому что его не существует, это то, что сделал java, чтобы показать вам в презентабельной форме.
Точнее,
класс представляет собой абстрактное и не зависящее от системы имя пути.

Надеюсь, это поможет.

Смежные вопросы