[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anfangsbuchstaben in Großbuchstaben ändern [OT]



Christian Frommeyer wrote:

> Weil in Java alle Objekte auf der Halde liegen und via
> Referenzvariable (Eingeschränkter Pointer) angesprochen werden.
> Das Konstrukt Objektvariable gibt es in Java nicht.

Warum nicht? Was wäre so schlimm daran, ein

Objekt a;

zuzulassen, das nur auf dem Stack liegt? Stattdessen gibt man dem GC
nur noch mehr Arbeit. Ein optionales delete wäre auch nicht
schlecht.
 
>> Diese Analogiegründe sind IMHO Altlasten, die die Sprache nur
>> seltsam aussehen lassen ...
 
> Altlasten woher?
> Der Aufruf
> 
> Klasse1* objekt1 = new Klasse1();
> 
> erzeugt in C++ ein Objekt objekt1 vom Typ Klasse1 mit dem
> parameterlosen Konstruktor auf der Halde und liefert einen Zeiger
> auf objekt1 zurück. Genau das analoge tut in Java
> 
> Klasse1 objekt1 = new Klasse1();

Ja. Ist von der Syntax her überflüssig und wirkt auf mich
umständlich. Hatten wir aber schonmal, das Thema. 

Einerseits C++ nacheifern und sich auf lernträge Umsteiger
spezialisieren, und gleichzeitig für Anfänger gut sein wollen ...
 
>> In den hunderten Dateien. Naja, ich gruppiere meine Klassen
>> lieber, damit finde ich sie besser.
 
> Dafür gibt es in Java Packages.

Vielleicht bin ich konservativ, aber ich habe lieber meine
10 .h-Dateien, in denen jeweils zusammengehörende Klassen
drinstehen ...

Grüße,


Björn

-- 
BOFH excuse #324:

Your packets were eaten by the terminator



Reply to: