- #1
Arnoldjavs3
- 191
- 3
Homework Statement
Java:
package movable;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author
*/
public class Group implements Movable {
private final List<Movable> groups = new ArrayList<Movable>();
public void addToGroup(Movable movable) {
groups.add(movable);
}
@Override
public void move(int dx, int dy) {
for (Movable org : groups) {
org.move(dx, dy);
}
}
@Override
public String toString() {
String group = "";
for (Movable org : groups) {
group += org.toString();
group += '\n';
}
return group;
}
}
Java:
package movable;
/**
*
* @author
*/
public class Organism implements Movable {
private int x;
private int y;
public Organism(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return "x: " + this.x + "; " + "y: " + this.y;
}
@Override
public void move(int dx, int dy) {
this.x = this.x + dx;
this.y = this.y + dy;
}
/*
//return the x value
public int xValue(){
return this.x;
}
//return y value
public int yValue(){
return this.y;
}
*/
}
Java:
package movable;
public interface Movable {
void move(int dx, int dy);
}
Homework Equations
The Attempt at a Solution
Here in this sample code(not mine) there is this object organism that implements the interface movable here. Object group, is just another arraylist of movable objects(which organism implements). My question is, why can this code access the x and y values of the movable objects inside the group arraylist? The instance variables x and y are defined in the organism class, not the group. Does this suggest that the group object is inheriting out of the organism class?