tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
325
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Hallo alle zusammen!

    Ich möchte eine Methode schreiben, welcher ich als Übergabeparameter einen Klassentypen geben kann welcher von einer bestimmten Klasse abgeleitet ist:

    PHP-Code:
    public <extends ResponseT request(request, Class<extends Responseclazz) {
    // do smth

    Das geht so nicht. Wie macht man es?
     
    /* no comment */

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Erst mal fehlt bei dem ersten Parameter ein Typ. Beim zweiten Parameter musst du nur noch T hinschreiben.

    Code java:
    1
    2
    3
    
    public <T extends Response> T request(Request request, T clazz) {
        // do smth
    }


    Edit: Aber das hier tut es meiner Meinung genauso

    Code java:
    1
    2
    3
    
    public Response request(Request request, Response response) {
        // do smth
    }

    weil du natürlich außer Response selbst auch alle Subklassen übergeben kannst.
     

  3. #3
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Naja, das ist nicht ganz das was ich wollte. Wenn ich eine Abstrakte Klasse zurück haben wöllte, dann hätt ich das genau so gemacht.


    Was ich möchte, ist der Methode den Klassentyp den ich zurück haben möchte zu übergeben.
    Ich möchte den Response dann nicht noch extra casten müssen. Das soll die Methode selbst übernehmen.


    Code java:
    1
    2
    
    // wobei LoginResponse von Response abgeleitet ist OHNE typcast
    LoginResponse response = request(loginRequest, LoginResponse.class);
    Geändert von Unicate (10.12.11 um 17:10 Uhr)
     
    /* no comment */

  4. #4
    Unicate Unicate ist offline Mitglied Brokat
    Registriert seit
    Apr 2005
    Beiträge
    358
    Jemand eine Idee?
     
    /* no comment */

  5. #5
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Eigentlich sollte das so doch klappen:
    Code java:
    1
    
    public <T extends Response> T request(Request request, Class<T> clazz) {}
    Oder was genau ist das Problem dabei?
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

Ähnliche Themen

  1. Java-Methode mit Parameter aufrufen
    Von BaseBallBatBoy im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 29.10.10, 16:23
  2. Methode als Template ohne Parameter
    Von extexo im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 20.08.09, 02:16
  3. Antworten: 5
    Letzter Beitrag: 21.07.08, 18:35
  4. Parameter und die Main Methode
    Von der Prof im Forum Java
    Antworten: 1
    Letzter Beitrag: 31.01.08, 11:09
  5. setTimeout und Methode mit Parameter
    Von Fanatico im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 06.10.06, 11:59