mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
58 lines
1.7 KiB
1 year ago
|
## StarGalaxy
|
||
|
|
||
|
### Instructions
|
||
|
|
||
|
Create a new class `Galaxy` in a file named `Galaxy.java`.
|
||
|
|
||
|
It has one private property : `celestialObjects` of type `List<CelestialObject>`.
|
||
|
|
||
|
It has one constructor with no parameters, which instantiate an empty list in the `celestialObjects` property.
|
||
|
|
||
|
We add a getter for the `celestialObjects` property (`getCelestialObjects`).
|
||
|
|
||
|
We create a new method `addCelestialObject` with a `CelestialObject` argument. This method adds the object in parameter to the `celestialObjects` list.
|
||
|
|
||
|
### Usage
|
||
|
|
||
|
Here is a possible ExerciseRunner.java to test your function :
|
||
|
|
||
|
```java
|
||
|
import java.util.List;
|
||
|
|
||
|
public class ExerciseRunner {
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
Galaxy galaxy = new Galaxy();
|
||
|
CelestialObject lune = new CelestialObject("Lune", -123.12, 392.238, 32.31);
|
||
|
Star betelgeuse = new Star("Betelgeuse", 128.23, -12.82, 32.328, 1289.3);
|
||
|
Planet naboo = new Planet("Naboo", 17.4389, 8349.1, 8943.92, betelgeuse);
|
||
|
|
||
|
galaxy.addCelestialObject(lune);
|
||
|
galaxy.addCelestialObject(betelgeuse);
|
||
|
galaxy.addCelestialObject(naboo);
|
||
|
|
||
|
List<CelestialObject> celestialObjects = galaxy.getCelestialObjects();
|
||
|
|
||
|
for (CelestialObject celestialObject : celestialObjects) {
|
||
|
System.out.println(celestialObject.toString());
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
and its output :
|
||
|
|
||
|
```shell
|
||
|
$ javac *.java -d build
|
||
|
$ java -cp build ExerciseRunner
|
||
|
Lune is positioned at (-123,120, 392,238, 32,310)
|
||
|
Betelgeuse shines at the 1289.300 magnitude
|
||
|
Naboo circles around Betelgeuse at the 12220.902 AU
|
||
|
$
|
||
|
```
|
||
|
|
||
|
### Notions
|
||
|
|
||
|
[Polymorphism](https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html)
|
||
|
|