Avatar billede neoo Nybegynder
08. januar 2004 - 18:51 Der er 9 kommentarer og
1 løsning

hvad er namespace?

hej.

skal lige spørge hvad er namespaces og hvad bruger man dem til, gerne med eksempler ?
Avatar billede bufferzone Praktikant
08. januar 2004 - 18:59 #1
Se denne google søgning. Jeg har brugt googles mulighed for at definder begreber. Du søger på define:namespace


http://www.google.dk/search?q=define%3Anamespace&ie=UTF-8&oe=UTF-8&hl=da&btnG=Google-s%C3%B8gning&meta=
Avatar billede nielsbrinch Nybegynder
08. januar 2004 - 19:01 #2
Hvis du vil have et lidt mere konkret svar, kan jeg fortælle at det er en samling af klasser, der typisk er afhængige af hinanden, eller nært beslægtede.
Avatar billede neoo Nybegynder
08. januar 2004 - 19:05 #3
jamen har du ikke en eksempel ?
Avatar billede omen Nybegynder
08. januar 2004 - 19:12 #4
Namespaces are a holdover from the bad old C++ days. Since two classes or functions can conceivably have the same name, and since identical names are not allowed in the same module, and since it's quite possible that you'll want to use two different classes with the same name in one module, there needs to be a way to differentiate the two. That's what namespaces are used for.

For example, if you create a class called MyClass and I create a class also called MyClass, and FWM wants to use them both in his project, we can separate the two by enclosing them in namespaces. So to access a member function in my class, he would type:

DannySmurf::MyClass->Hello();

and to access a member function in your class he would type:

juice::MyClass->Goodbye();

Everything in C++ and C# is enclosed in a namespace, even if you don't specify one. In C++, classes and functions that are not explicitly put in a namespace are assumed to be in the std namespace. In C#, a namespace with the same name as the project is wrapped around any class that isn't explicitly given a namespace.

---
Go fornøjelse!
Avatar billede bufferzone Praktikant
08. januar 2004 - 19:35 #5
Namespaces begrebet hænger ikke kun sammem med classe og objectbegrebet, og dermed er omens definition alt for snæver.

Namespaces kan oversættes med den standard der er valgt for navngivning, herunder hvordan navngivningen skrives i koden og hvor mange bits den fylder. Nmamespace begrebet bruges om classer, objecter, konstanter, variabler, attributter, om protokoller og database nomenklatur, og alt anden navngivningsstandard der har forbindelse med kodning og applikationers behandling af navngivne ting.
Avatar billede arne_v Ekspert
08. januar 2004 - 19:52 #6
1) namespaces er ikke fra the old C++ days

  namespaces er en meget meget ny feature i C++

2) default namespace i C++ er ikke std

  default namespace i C++ er det tomme namespace

  std namespace indeholder ANSI C++ library

  std namespace skal eksplicit importeres

3)  default namespace i C# er ikke projektets navn

    default namespace i C# er også det tomme namespace

    nogle IDE'er vil have en wizard som genererer kode med et
    namespace der er projektets navn men det er noget andet
Avatar billede arne_v Ekspert
08. januar 2004 - 19:55 #7
4)  namespaces er ikke en standard for navngivning

    namespaces er som Omen skriver noget der kvalificerer
    navne
Avatar billede arne_v Ekspert
08. januar 2004 - 20:30 #8
Til evt. andre der måtte læse denne tråd: det accepterede svar er
ikke korrekt i .NET kontekst (det er muligt at det er i almindelig engelsk).
Avatar billede bufferzone Praktikant
08. januar 2004 - 20:33 #9
Namespaces are typically established to distinguish between multiple interpretations of a single token or phrase. One common example; a "nut" in the "food" namespace is something to eat, while in the "hardware" namespace something to fasten to a bolt (something you would not want to attempt with a "food:nut" and vice-versa). In XML, it can be thought of as a collection of names, identified by a URI reference [RFC2396], which are used in XML documents


A standard that lets you specify a unique label to the set of element names defined by a DTD. A document using that DTD can be included in any other document without having a conflict between element names. The elements defined in your DTD are then uniquely identified so that, for example, the parser can tell when an element called <name> should be interpreted according to your DTD, rather than using the definiton for an element called "name" in a different DTD
Avatar billede burningice Nybegynder
08. januar 2004 - 20:36 #10
namespace kan nemmest sammenlignes med mapper på computeren, hvor en type (klasse, struct, enum osv.) er filerne. Man kan ikke have to filer i samme mappe der hedder det samme, men sagtens have to filer på computeren der hedder det samme, bare de ikke ligger i samme mappe.

På samme måde kan man bruge namespaces (mapper) til at sortere i sine typer (filer).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester