Data la definizione di classe riportata di seguito. Come procedere nel decidere se i metodi di stub dovrebbero essere statici o non statici?metodo statico o non statico per classe immutabile
class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
// Should the methods add(), subtract() and inverseOf() be non-static ...
public Point add(Point point) {
}
public Point subtract(Point point) {
}
public Point inverseOf() {
}
// Or static?
public static Point add(Point point1, Point point2) {
}
public static Point subtract(Point point1, Point point2) {
}
public static Point inverseOf(Point point) {
}
}
È questo compito? –
No, questo non è compito. Sto solo passando un momento difficile per capire se determinati metodi nella mia applicazione debbano essere statici o non statici. Ho usato un esempio banale per garantire che le specifiche della mia applicazione non distraggano gli elementi chiave della domanda, vale a dire statici o non statici. –
Farei sicuramente quella classe 'final'. Inoltre è una buona idea rendere il costruttore 'private' e aggiungere un metodo di creazione statico. –