2017-01-24 3 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'は*抽象表現*として記述されていません。私はそれが*オブジェクトそのもの(ファイルシステム内のファイル)ではなく、それを表現するためのプレースホルダーであり、特定のOSがファイルを表す方法に縛られない方法で設計されていると思います。 –

0

"abstract"という言葉の使用は、Javaの一般的な使用法(abstract、メソッドまたはいくつかのメソッドが実装されていないことを示す)とは異なります。

この場合、抽象は、より広く理解されている(Java以外の)ケースであり、詳細を隠しています。 the Wikipedia page about abstraction上の素敵な引用があります:

抽象化の本質は、指定されたコンテキストで関連する情報を保存し、そのコンテキストに無関係な情報を忘れています。

- ある意味ではジョン・V・Guttag

、Javaですべてが抽象化され、かつので、ここで言葉「抽象」の使用は、おそらく不必要です。しかし、すべてはまた、 "表現"です。その言葉も間違いなく不要です。

(この抽象化の定義は、abstractを意味するものではなく、具体的な実装を抽象化することもできます)。クラスはあなたがにやりたい「共通のもの」を行うことができるように設計されています:

私は、著者は、あなたが隠されている場合がありますこと事を伝えようとしていることのポイントがいくつかありますことを考えますファイル;あなたはあなたが望むプロパティにアクセスすることができず、あなたのOSで利用可能であることを知っているかもしれません。これは、すべてのプラットフォームで動作するように意図された言語を使用する設計の選択肢です。

0

ファイルとディレクトリのパス名の抽象表現です。 ユーザーインターフェイスとオペレーティングシステムは、ファイルとディレクトリに名前を付けるために、システムに依存するパス名文字列 を使用します。このクラス抽象的、 システムに依存しないビュー階層パス名のを提示しています。

これは、javaがあなたに使用できるパス名を与えることを意味します。 UIまたはOSが使用する実際のパス名である必要はありません。したがって、それは存在しないので、それは "抽象的な"で、それは あなたが見やすい形であなたを示すために、Javaが作ったものです。
もっと正確には、
クラスは、パス名に抽象的かつシステムに依存しないビューを提示します。

これが役に立ちます。

関連する問題