考慮用靜態方法下面的類:靜態方法的類型間聲明可以嗎?
public class Vector2D {
/* ... */
public static Vector2D sum(Vector2D first, Vector2D second) {
return new Vector2D(first.x + second.x, first.y + second.y);
}
}
這種方法可以在AspectJ中也添加爲一個類型間聲明:
public aspect Vector2DMath {
public static Vector2D Vector2D.sum(Vector2D first, Vector2D second) {
return new Vector2D(first.x + second.x, first.y + second.y);
}
}
哪一種方法是在方面 - 方面更加正確面向對象編程?
就個人而言,我認爲第一種方法更好(更少的代碼),但如果是這樣,那麼當靜態方法的類型間聲明可能是有用的?