ich habe folgendes problem:
angenommen ich habe folgende klassen:
Also eine klasse A die unter anderen attributen auch ein attribut a vom typ Point hat. Des weiteren eine klasse sortSomehow mit einer statischen methode sort() die mir einen Vector vom typ Point sortiert.
Implementieren moechte ich folgendes:
Ich habe einen Vector vom typ A und den moechte ich entsprechend der jeweiligen Point attribute ueber die statische methode sort() sortieren. gleichzeitig soll die klasse sortSomehow moeglichst wiederverwendbar sein.
Ich bin mir einfach nicht sicher wie man das "richtig" implementiert. ein paar unbefriedigende loesungsansaetze haette ich parat. diese waeren wie folgt:
HILFE!!!
angenommen ich habe folgende klassen:
Code:
class A()
{
Point a;
...
}
class Point()
{
int x;
int y;
...
}
class sortSomehow()
{
public static Vector<Point> sort(Vector<Point> points)
{
...
return sortedPoints;
}
...
}
Also eine klasse A die unter anderen attributen auch ein attribut a vom typ Point hat. Des weiteren eine klasse sortSomehow mit einer statischen methode sort() die mir einen Vector vom typ Point sortiert.
Implementieren moechte ich folgendes:
Ich habe einen Vector vom typ A und den moechte ich entsprechend der jeweiligen Point attribute ueber die statische methode sort() sortieren. gleichzeitig soll die klasse sortSomehow moeglichst wiederverwendbar sein.
Ich bin mir einfach nicht sicher wie man das "richtig" implementiert. ein paar unbefriedigende loesungsansaetze haette ich parat. diese waeren wie folgt:
* ich erzeuge aus dem Vector<A> einen Vector<Point> und verarbeite diesen ueber die sort() methode. dadurch erhalte ich allerdings nur die sortierten Point"s" die mir nichts bringen
* ich verwende in der sort() methode als argument und rueckgabetyp einen Vector mit einem interface als klassenvariable (z.b. PointInterface) mit dem ich eine methode getPoint() implementiere. ich muss aber dann die ganzen elemente im zurueckgegebenen Vector alle casten, was ja auch nicht "schoen" ist.
* ich lasse es bleiben und werde barkeeper...
HILFE!!!