AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Java] Neues Objekt vom anderen Objekt
Thema durchsuchen
Ansicht
Themen-Optionen

[Java] Neues Objekt vom anderen Objekt

Ein Thema von xZise · begonnen am 26. Jan 2010 · letzter Beitrag vom 27. Jan 2010
Antwort Antwort
Seite 2 von 2     12   
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#11

Re: [Java] Neues Objekt vom anderen Objekt

  Alt 26. Jan 2010, 22:03
Zitat von Khabarakh:
In .NET würde das auch über Generics funktionieren, aber da die JVM keine besitzt...
Wie jetzt, keine Generics mehr? Hat Oracle die etwa schon aus der Java Language Specification entfernt? Und vor allem: Barum?

Cheers,
Mike
Michael Justin
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#12

Re: [Java] Neues Objekt vom anderen Objekt

  Alt 26. Jan 2010, 23:21
Hallo,
Zitat von mjustin:
Wie jetzt, keine Generics mehr? Hat Oracle die etwa schon aus der Java Language Specification entfernt? Und vor allem: Barum?
Generics waren noch nie Teil der JVM. Die sind ein reines Compile-Feature. Deshalb gibt es auch bei Generics keine Runtime-Typprüfung. Hab ich schon oft geflucht darüber.
Du weißt ja: das Gegenteil von gut ist gut gemeint.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#13

Re: [Java] Neues Objekt vom anderen Objekt

  Alt 27. Jan 2010, 06:48
Zitat von xaromz:
Hallo,
Zitat von mjustin:
Wie jetzt, keine Generics mehr? Hat Oracle die etwa schon aus der Java Language Specification entfernt? Und vor allem: Barum?
Generics waren noch nie Teil der JVM. Die sind ein reines Compile-Feature. Deshalb gibt es auch bei Generics keine Runtime-Typprüfung. Hab ich schon oft geflucht darüber.
Du weißt ja: das Gegenteil von gut ist gut gemeint.

Gruß
xaromz
Wie hätte man das konkrete Problem denn mit Generics lösen können? Es sieht ja eher nach einem Fall für Reflektion aus. (Vorteil des Type Erasure bei Java ist, dass man Bibliotheken mit und ohne Generics mischen kann - jede Medaille hat zwei Seiten, man kann so problemlos alte Libraries weiterverwenden wenn man sich an ein paar Regeln hält, und muss sie nicht neu kompilieren oder in zwei Versionen pflegen.)

Viele Grüße,
Michael
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von memphis
memphis

Registriert seit: 4. Apr 2003
Ort: Innsbruck
89 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: [Java] Neues Objekt vom anderen Objekt

  Alt 27. Jan 2010, 09:51
Das sauberste ist imo das Factory Pattern:

Code:
interface Factory{
  public i createObject();
}

class SFactory implements Factory{
  public i createObject(){
    return new s();
  }
}

class TFactory implements Factory{
  public i createObject(){
    return new t();
  }
}
deinen Code musst du dann wie folgt anpassen:

Code:
Factory factory = null;

if (Math.random() < 0.5) {
  factory = new SFactory();
} else {
  factory = new TFactory();
}

o = factory.createObject();

// Jetzt will ich das er das obige wiederholt:
o = factory.createObject();
Lukas
Wenn du nicht mehr weiter weißt, zeichne dir 'nen Einheitskreis.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#15

Re: [Java] Neues Objekt vom anderen Objekt

  Alt 27. Jan 2010, 18:56
Zitat von mjustin:
Wie hätte man das konkrete Problem denn mit Generics lösen können?
Code:
public T GimmeSomeGraph<T>()
   where T : IGraph, new() // !
{
   ...new T()...
}
Quasi ein vereinfachtes Factory Method Pattern .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz