Class Star

All Implemented Interfaces:
Comparable<CelestialBody>

public class Star extends CelestialBody
A fixed star.

A fixed star is a CelestialBody with fixed position and velocity (and energy equal to 0).

  • Constructor Details

    • Star

      public Star(String nome, int x, int y, int z)
      Constructs a fixed star.

      Constructs a fixed star given its name and position.

      Parameters:
      nome - the name.
      x - the x coordinate of the initial position.
      y - the y coordinate of the initial position.
      z - the z coordinate of the initial position.
      Throws:
      NullPointerException - if the name is null.
      IllegalArgumentException - if the name is composed of only spaces, or empty.
  • Method Details

    • velocity

      public Point velocity()
      Description copied from class: CelestialBody
      Returns the velocity of this celestial body.
      Specified by:
      velocity in class CelestialBody
      Returns:
      the velocity (not null}).
    • energy

      public long energy()
      Description copied from class: CelestialBody
      Returns the total energy of this celestial body.
      Overrides:
      energy in class CelestialBody
      Returns:
      the energy.
    • updatePosition

      public void updatePosition()
      Description copied from class: CelestialBody
      Updates the position of this celestial body (usually following a change in its velocity).
      Specified by:
      updatePosition in class CelestialBody
    • updateVelocity

      public void updateVelocity(CelestialBody c)
      Description copied from class: CelestialBody
      Updates the velocity of this celestial body.

      The velocity must be updated based on the interaction with the celestial body given as an argument according to what is illustrated in the overview of this package; this method must not modify the celestial body given as an argument.

      Specified by:
      updateVelocity in class CelestialBody
      Parameters:
      c - the celestial body to interact with.
    • toString

      public String toString()
      Overrides:
      toString in class Object