2019-09-10

anond:20190910174449

名前空間は、名前の衝突を防止するためにある。

一人で全部作ってるとき必要性低い。

大きいシステムを作るときは、他人提供するコードを組み込む場合がある。

自分の作ったコードと、他人が作ったコード名前空間が別ならば、それぞれに同じクラス名の

Printer

クラスがあったとしても、どっちかを削除したりせずに共存できる

記事への反応 -
  • 全部のclassに同じnamespaceが書いてる(humanとか)として それに何の意味があるの?

    • 名前空間は、名前の衝突を防止するためにある。 一人で全部作ってるときは必要性低い。 大きいシステムを作るときは、他人が提供するコードを組み込む場合がある。 自分の作ったコ...

      • クラス名で定義しちゃうと修正が大変だから ネームスペースで更に別の条件を付け加えるって感じかな? ネームスペースは名字みたいな感じ?

    • 例えば「ちひろ」って名前のクラスがあった場合に、それが本来「米倉千尋」なのか「千川ちひろ」なのか名前だけだと判断付かないだろ。だから、namespaceでちひろって名前を別の人で...

      • classで参照するときの名前とは別で……? 別のclassファイルでも「ちひろ」って定義してたら ちひろはどうなっちゃうの?

        • ダブってると名前解決できなくなるから、プログラム参照時に 「千川.ちひろ」とかフルネームでクラス名を指定するんだよ。 そうすることで米倉.ちひろと千川.ちひろで同じプログラム...

          • 私が見たサイトだと、ネームスペースの中にクラスが入ってたよ。 ネームスペースが「ちひろ」で、クラスファイル名が「仙川」で 他から参照するときは「仙川.ちひろ」? 違ったらご...

            • ネームスペースが便宜的に苗字な。 千川.ちひろ クラスと 鬼束.ちひろ クラスが 同じプログラムソース内に登場する場合は 「ちひろ」ってクラス名で参照するのではなく 鬼束.ちひ...

              • ありがとう!とても分かりやすかった! たくさんのcsファイルに同じnamespaceで書いてあるから疑問だったんだ。 すっきり疑問解決した^^

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん