Added Cylinder class

Changed toString methods to work inhirit correctly.
This commit is contained in:
HeshamTB 2020-08-31 14:45:34 +03:00
parent c1a575da75
commit 732124669c
Signed by: Hesham
GPG Key ID: 74876157D199B09E
3 changed files with 38 additions and 3 deletions

View File

@ -21,8 +21,8 @@ public class Circle extends _Point {
public double getCircumfrence() { return 2*Math.PI*this.radius; } public double getCircumfrence() { return 2*Math.PI*this.radius; }
public String toString() { public String toString() {
return String.format("Position %s, Radius %f," + String format = "%sCircle's radius = %f ,area = %f, circumfrence = %f\n";
"Area %f, Circumference %f ", super.toString(), getRadius(), getArea(), getCircumfrence()); return String.format(format, super.toString(), getRadius(), getArea(), getCircumfrence());
} }
} }

35
lab-01/src/Cylinder.java Normal file
View File

@ -0,0 +1,35 @@
public class Cylinder extends Circle {
private double height;
public Cylinder(double r, double h){
super(r);//Recommended by IDE. Invokes Circle(double radius).
// Circle with location 0, 0 and radius r.
this.height = h;
//now a cylinder with radius r and height h at 0,0
}
public Cylinder(int x, int y,double r, double h){
super(r, x, y); //a circle with radius r at x,y
this.height = h;
//cylinder with radius r and height h at x,y
}
public double getSurfaceArea(){
return 2*(Math.PI*getRadius()*getHeight() + Math.PI*Math.pow(getRadius(),2));
}
public double getVolume(){
return Math.PI*Math.pow(getRadius(), 2)*getHeight();
}
public void setHeight(double h){ this.height = h;}
public double getHeight(){ return this.height; }
public String toString(){
String format = "%sCylinder's height = %f ,Surface area = %f , Volume = %f";
return String.format(format, super.toString(), getHeight(), getSurfaceArea(), getVolume());
}
}

View File

@ -32,6 +32,6 @@ public class _Point {
public void setY(int y){ this.y = y; } public void setY(int y){ this.y = y; }
public String toString(){ return String.format("Position (%d, %d)", this.x, this.y); } public String toString(){ return String.format("Current (x,y) location (%d,%d)\n", this.x, this.y); }
} }