Ich denke, Sie scheinen in Situationen zu kommen, in denen die Methoden innerhalb der Informationsklasse besser wären - dass die beiden zusammengeführt werden sollten und die Klasse, die auf die Informationen einwirkt, diese auch speichern sollte.
class CoordinatePair
{
float x, y;
public Coordinate(float xIn, float yIn) {x = xIn; y = yIn;}
public getX() {return x;}
public getY() {return y;}
}
class CoordinateTools
{
public CoordinatePair add(Coordinate a, Coordinate b)
{
return new CoordinatePair(a.getX() + b.getX(), a.getY() + b.getY());
}
public float dotProduct(Coordinate a, Coordinate b)
{
returna a.getX() * b.getX() + a.getY() * b.getY());
}
}
könnte besser sein getan mit: (oder alternativ überladene Operatoren, zumindest eine statische Werkzeuge Klasse)
class CoordinatePair
{
float x, y;
public Coordinate(float xIn, float yIn) {x = xIn; y = yIn;}
public getX() {return x;}
public getY() {return y;}
public CoordinatePair sumWith(CoordinatePair other) {//body}
public float dotProductWith(CoordinatePair otheR) {//body}
}
Dieses Beispiel Art trivial ist, aber man konnte hoffentlich sehen es immer schlimmer mit kompliziertere Sachen.
Willkommen bei SO. Sie sollten einige spezifische Beispiele zeigen, es ist unmöglich, dies ohne Kontext zu beantworten. –
Rauchen ist in der Regel eine schlechte Programmierer Gewohnheit, aber was weiß ich, ich bin auf PHP .... – Anycorn
vielleicht der Vorschlag hier ist, dass diese eine Klasse sein sollte - dass die Klasse, die auf die Informationen wirkt, sollte es auch speichern. Wenn Sie kein Beispiel angeben können, können Sie zumindest einen Link zu der Stelle finden, an der Sie diesen Rat gefunden haben. –