In: Computer Science
//Java code
public class SolarSystem {
/**
* Name, color, Diameter_Miles,
* dist_From_Sun and perimeter =(float) 3.14*Diameter_Miles;
*/
protected String name;
protected String color;
protected float diameter_miles;
protected float dist_From_Sun;
//Constructor
public SolarSystem(String name, String color, float diameter_miles, float dist_From_Sun) {
this.name = name;
this.color = color;
this.diameter_miles = diameter_miles;
this.dist_From_Sun = dist_From_Sun;
}
//Getters and setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public float getDiameter_miles() {
return diameter_miles;
}
public void setDiameter_miles(float diameter_miles) {
this.diameter_miles = diameter_miles;
}
public float getDist_From_Sun() {
return dist_From_Sun;
}
public void setDist_From_Sun(float dist_From_Sun) {
this.dist_From_Sun = dist_From_Sun;
}
public float perimeter()
{
return (float) (Math.PI*diameter_miles);
}
@Override
public String toString() {
return "Name Of The solarSystem : "+name+"\n" +
"Colour Of The solarSystem : "+color+"\n" +
"Distance From the Sun : "+dist_From_Sun+" miles\n" +
"Perimeter of the solarSystem : "+perimeter()+" miles";
}
}
//=====================================================
public class Planet extends SolarSystem {
public Planet(String name, String color, float diameter_miles, float dist_From_Sun) {
super(name, color, diameter_miles, dist_From_Sun);
}
public double volume()
{
/**
* (4/3)*(3.14)*(Radius_Miles)*(Radius_Miles)*(Radius_Miles);
*/
float radius = (float) (diameter_miles);
return (float) ((4/3)*(Math.PI)*radius*radius*radius);
}
@Override
public String toString() {
return "Name Of The Planet : "+name+"\n" +
"Colour Of The Planet : "+color+"\n" +
"Distance From the Sun is : "+dist_From_Sun+" miles\n" +
"Volume Of The Planet : "+volume()+" cubic units";
}
}
//==================================================
public class Moon extends SolarSystem {
public Moon(String name, String color, float diameter_miles, float dist_From_Sun) {
super(name, color, diameter_miles, dist_From_Sun);
}
public float surface_area()
{
float radius = (float) (diameter_miles);
return (float) (4*Math.PI*radius*radius);
}
public float volume()
{
float Radius_Miles = (float) (diameter_miles/2.0);
return (float) ((4.0/3.0)*(Math.PI)*(Radius_Miles)*(Radius_Miles)*(Radius_Miles));
}
@Override
public String toString() {
return "Name Of The Moon : "+name+"\n" +
"Colour Of The Moon : "+color+"\n" +
"Distance From the Mother Planet : "+dist_From_Sun+" miles\n" +
"Surface area Of The Moon : "+surface_area()+" km^2";
}
}
//====================================================
public class Earth extends Planet {
public Earth(String name, String color, float diameter_miles, float dist_From_Sun) {
super(name, color, diameter_miles, dist_From_Sun);
}
@Override
public String toString() {
return super.toString();
}
}
//==============================================
public class TestPlanet {
public static void main(String[] args)
{
SolarSystem solarSystem = new SolarSystem("Solar System","Multi",7500000000L,3666000000L);
System.out.println(solarSystem);
System.out.println("==============================");
Planet planet = new Planet("Earth","blue",3959L,93000000L);
System.out.println(planet);
System.out.println("==============================");
Earth earth = new Earth("Earth","blue",3959L,93000000L);
System.out.println(earth);
System.out.println("==============================");
Moon moon = new Moon("Luna","silvery",1740L,238900L);
System.out.println(moon);
System.out.println("==============================");
}
}
//Output

//If you need any help regarding this solution .......... please leave a comment ........ thanks