Kleines Problem mit der Polymorphie

Holindarn

Neues Mitglied
Hi Leute,

ich habe schon google und die Suchfunktion bemüht, aber es scheint sich um ein sehr spezielles Problem zu handeln.
Ich habe ein größeres Eclipse Projekt übernommen und versuche nun es zu kompilieren, dabei stieß ich auf folgenden Fehler.

Code:
The constructor EditingSupport(TreeViewer) is undefined

in folgendem Stück Quellcode

Java:
public AbstractComboEditingSupport(TreeViewer viewer) {
			super(viewer); // Hier ensteht der Fehler. 
			editor=new ComboBoxCellEditor(viewer.getTree(), empty);
		}

Dabei sieht der Konstruktor von EditingSupport so aus
Java:
public EditingSupport(ColumnViewer viewer){
 //irgendwas
}

und der von mir oben verwendete TreeViewer ist ein Subklasse von ColumnViewer. Jetzt müsste doch laut den Regeln der Polymorphie der Teil
Code:
super(viewer)
, der einen ColumnViewer erwartet aber einen TreeViewer bekommt richtig aufgelöst werden?
Oder habe ich da einen Denkfehler gemacht ?

mfg Holindarn
 
geht im Grunde... wenn A von B erbt kannst du A anstatt B übergeben...

Java:
public class Foo {
    public Foo(Bar tutu) {
    }
}

class Shi extends Foo {
    public Shi() {
        super(new Tutu());
    }
}

class Bar {
}

class Tutu extends Bar {
}
 
Okay habe den Fehler nun finden können. Mein Denkansatz war genau richtig und es war auch kein Problem der Polymorphie sondern Eclipse hatte 2 verschiedene .jat Pakete in denen die gleiche Klasse beschrieben wurde. In der einen war TreeViewer eine Unterklasse von ColumnViewer. In der von mir verwendeten allerdings nicht.
 

Neue Themen


Zurück
Oben