Ich weiß nicht, ob dies überhaupt möglich ist, aber ich dachte an etwas in Java:Vererben kinderspezifische Methode von den Eltern
Wenn ich eine abstrakte Elternklasse haben, kann ich dies tun:
Wenn ParentClass
dann ein Kind hat und ich diese Methode überschreiben möchte, hat die Kindklasse noch eine ParentClass add(ParentClass, ParentClass)
Methode.
Gibt es eine Möglichkeit, die Elternfunktion für jedes Kind selbst ableiten zu lassen?
Ich weiß nicht, ob ich Wortlaut bin es richtig, aber so etwas wie:
// ParentClass.java
public ParentClass add(ParentClass a, ParentClass b);
// Foo.java
@Override // or an equivalent
public Foo add(Foo a, Foo b) {}
// Bar.java
@Override
public Bar add(Bar a, Bar b) {}
Beachten Sie, wie jedes Kind nicht eine ParentClass add(...)
Funktion haben, sondern eine für jeden ihrer eigenen Typen stattdessen?
Offensichtlich kann ich nur diese selbst machen, aber ich will in der Lage sein, überschreibbare in Eltern zu schaffen. Ich habe das vorher noch nie in der Praxis gesehen, also zweifle ich an seiner Existenz. Ich möchte nur mit jemandem klären, der ein höheres Java-Wissen besitzt als ich. Vielen Dank.
In der Theorie, die ich keine Sprache erraten jemals getan hat, so etwas wie dieses:
public child add(child a, child b);
// where *child* is the type of the child inheriting the method
Haben Sie bereits über die Verwendung von Generika nachgedacht? –
Warum keine Generika? Sie sind die Lösung für dieses Problem. –
@OliverCharlesworth Sorry, ich habe noch nie ein Generikum gesehen, das wie SkinnyJ benutzt wurde. Das ist perfekt**. – finnrayment