🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #5021

Re: Namespaces in Java?

#5021
From: Slayerke
Date: Tue, 10 Jun 2003 03:21
60 lines
4000 bytes
Jo Vermeulen wrote:

> Rene Pijlman wrote:
> 
>> Jo Vermeulen:
>>>Rene Pijlman wrote:
>>>> Jo Vermeulen:
>>>>>Hoe kan ik Java (zoals in C++) zelf namespaces defini�ren?
>>>> 
>>>> Classes.
>>>
>>>Terwijl ik dat helemaal niet wil. Lijkt me overbodig een hele nieuwe
>>>klasse te moeten specifi�ren, ik wil gewoon een andere namespace.
>> 
>> Een class is niet veel meer dan een namespace, totdat je er
>> attributen en methoden in stopt en objecten gaat instanti�ren.
>> 
>> Anders zou je natuurlijk nog een interface kunnen defini�ren,
>> met alleen die public static final int's.
>> 
>> Ik heb de indruk dat je met een non-probleem worstelt. Je
>> herhaalt wel telkens _dat_ je een probleem hebt met classes,
>> maar je vertelt niet _wat_ dat probleem nu eigenlijk is. Behalve
>> dat je het niet wilt. Dat probleem heb ik met C++ :-)
> 
> Ligt misschien aan mij maar het lijkt me gewoon een omweg het zo te doen
> :) Dacht eraan de klasse die ik nu heb met de static final ints in, als
> subklasse in de klasse te steken waar ik ze nodig heb. Is dat een goede
> oplossing, of is het toch beter ze in een aparte file te laten staan?
> Mij leek me dat handiger, het gaat immers alleen om een class als
> namespace, en buiten die omvattende klasse hebben de variabelen niet veel
> zin.
> 
> Om nog even terug te komen op die typesafe enum. Het niet kunnen casten
> van zo'n klasse naar een int vind ik een serieuze tekortkoming. Kan dit
> echt niet op ��n of andere manier?
> 

Het is geen omweg, je wilt iets dat java gewoon niet kan, het zijn niet voor
niets 2 verschillende talen. Omdat java voor een (al of niet) groot deel op
C++ steunt wil nog niet zeggen dat alle C++ constructs ondersteund zijn.
Wat je bvb al zou kunnen afvragen: moet een enum een integral type of een
apparte class zijn per enum(als het een class is, dan is er al geen
conversie naar int, dus dan kun je evengoed het 'enum' concept uit de taal
laten). Dus zou je enum als een integral type moeten in de taal steken,
waarop dan weer dezelfde problemen als met C++ enums voorkomen, je de taal
onduidelijker maakt en nog meer de 'everything is an object' structuur
doorbreekt.

Ik zou niet zeggen dat java alle goeie zaken heeft overgenomen en geen van
de slechte van C++, maar een enum is imho vrij eenvoudig zelf na te maken,
en je kan de enum zelf dan veiliger maken dan een ordinary C++ enum.

De keuze om je static final int's in een aparte (public) class of in een
interne private class te steken is afhankelijk van het gebruik ervan. Als
die constanten buiten je class nog betekenis hebben, dan is het beter van
ze in een public class in dezelfde package te steken.
-- 
Groeten,
Slayerke
Technical Details
Message-ID: <h9cFa.45241$1u5.3227@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-09!supernews.com!wn14feed!worldnet.att.net!204.71.34.3!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <bc2fqd$1iba$1@nl-news.euro.net> <bc2piv$1oag$1@nl-news.euro.net> <cqq9evc76hf6urft6c6diq3lsntpd1ksuj@4ax.com> <bc2rem$1pf6$1@nl-news.euro.net> <mos9ev4gvk5jl9meqclim9t25a7p739tva@4ax.com> <bc2stb$1qi8$1@nl-news.euro.net>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,49bd6e9024ebf456
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-06-09 20:21:59 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-09!supernews.com!wn14feed!worldnet.att.net!204.71.34.3!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Slayerke <slayerkenospammer@slayerke.co.uk>
Subject: Re: Namespaces in Java?
Newsgroups: be.comp.programming
Reply-To: slayerkenospammer@slayerke.co.uk
References: <bc2fqd$1iba$1@nl-news.euro.net> <bc2piv$1oag$1@nl-news.euro.net> <cqq9evc76hf6urft6c6diq3lsntpd1ksuj@4ax.com> <bc2rem$1pf6$1@nl-news.euro.net> <mos9ev4gvk5jl9meqclim9t25a7p739tva@4ax.com> <bc2stb$1qi8$1@nl-news.euro.net>
Lines: 60
User-Agent: KNode/0.7.2
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
Message-ID: <h9cFa.45241$1u5.3227@afrodite.telenet-ops.be>
Date: Tue, 10 Jun 2003 03:21:49 GMT
NNTP-Posting-Host: 213.224.100.102
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1055215309 213.224.100.102 (Tue, 10 Jun 2003 05:21:49 MET DST)
NNTP-Posting-Date: Tue, 10 Jun 2003 05:21:49 MET DST
Organization: Telenet Internet