 |
|
Lab 7
Objective
To introduce abstract classes and
interfaces
Classwork:
-
Declare
a class Shape which is an abstract superclass. Derive
TwoDimensionalShape and ThreeDimensionalShape from the class
shape, these classes should also be abstract. Use an abstract
print method to output the type and dimensions of each class. Also include
area and volume methods so these calculations can be performed
for objects of each concrete class in the hierarchy. Write a driver program
that test the Shape class hierarchy.
-
Rewrite your solution to Exercise 1
to use a Shape interface instead of an abstract Shape class.
|
Shape |
|
private int x , y; |
|
public Shape (int
x,int y);
public abstract void
print();
public abstract String
get name();
public void setx(int
x);
public void sety(int
y);
public int getx();
public int gety(); |
|
 

|
 |
|
TwoDimensionalShape |
|
private int dim1,dim2; |
|
public
TwoDimensionalShape (int x,int
y,int
d1,int d2);
public abstract int
area();
public void setd1(int
d1);
public void setd2(int
d2);
public int getd1();
public int getd2(); |
|
|
ThreeDimensionalShape |
|
private int
dim1,dim2,dim3; |
|
public
ThreeDimensionalShape (int x, int y, int d1, int
d2, int d3 );
public abstract int
area();
public abstract int
volume();
public void setd1(int
d1);
public void setd2(int
d2);
public void setd3(int
d3);
public int getd1();
public int getd2();
public int getd3(); |
|
| |
|
|
Square |
|
public Square (int x ,
int y , int side);
public int area();
public void print();
public String get
name();
public int getside();
public void
setside(int side); |
|
|
Cube |
|
public Cube (int x,int
y,int
side);
public int area();
public int volume();
public void print();
public String get
name();
public int getside();
public void
setside(int side); |
|
| |
|
|
Shape |
|
public abstract void
print();
public abstract String
get name(); |
|
| |
 |
|
TwoDimensionalShape |
|
private int x , y;
private int dim1,dim2; |
|
public
TwoDimensionalShape (int x,int y ,int d1,int d2);
public abstract int
area();
public void setd1(int
d1);
public void setd2(int
d2);
public void setdx(int
x);
public void setdy(int
y);
public int getd1();
public int getd2();
public int getdx();
public int getdy();


|
|
|
ThreeDimensionalShape |
|
private int
x , y;
private int
dim1,dim2,dim3; |
|
public
ThreeDimensionalShape (int x,int y,int
d1,int d2,int d3);
public
abstract int area();
public
abstract int volume();
public void
setd1(int d1);
public void
setd2(int d2);
public void
setd3(int d3);
public void
setdx(int x);
public void
setdy(int y);
public int
getd1();
public int
getd2();
public int
getd3();
public int
getdx();
public int
getdy(); |
|
 |
|
|
Square |
|
public
Square (int x,int y,int
side);
public int
area();
public void
print();
public
String get name();
public int
getside();
public void
setside(int side); |
|
|
Cube |
|
public Cube
(int x,int y,int
side);
public int
area();
public int
volume();
public void
print();
public
String get name();
public int
getside();
public void
setside(int side); |
|
|
|
|