У нас есть два класса с именем Point и Line. И класс Line имеет два конструктора. Это код класса Point.Состав и агрегация Java в одном классе?
// The Point class definition
public class Point {
// Private member variables
private int x, y; // (x, y) co-ordinates
// Constructors
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public Point() { // default (no-arg) constructor
x = 0;
y = 0;
}
}
И это код класса Line.
public class Line {
// Private member variables
Point begin, end; // Declare begin and end as instances of Point
// Constructors
public Line(int x1, int y1, int x2, int y2) {
begin = new Point(x1, y1);
end = new Point(x2, y2);
}`
public Line(Point begin, Point end) {
this.begin = begin;
this.end = end;
}
}
Как вы видите, класс Line имеет два конструктора. И Первый конструктор - пример Compositon, а агрегация второго конструктора. Теперь, что мы можем сказать об этом случае? Может ли класс иметь как агрегацию, так и состав? Спасибо за ваши ответы.
Возможный дубликат [Разница между Агрегацией и композицией в Java] (http://stackoverflow.com/questions/11881552/implementation-difference-between-aggregation-and-composition-in-java) – xmojmr