I need help with my program. Here is what I need to do:
Develop the ‘Shape’ application such that:
• ‘Rectangle’, ‘Ellipse’, and ‘Triangle’ classes inherit from the ‘Shape’ class.
• Develop the ‘Square’ and ‘Circle’ class where ‘Square’ inherits from ‘Rectangle’ and ‘Circle’ inherits from ‘Ellipse’. ‘Triangle’ has no derived class.
• For each class, implement the overridden methods ‘draw’, ‘move’, and ‘erase’. Each method should only have an output statement such as “Rectangle – draw method” that will be displayed when the method is invoked.
• Implement the default constructors for each class with a corresponding message to be displayed when invoked. No initializations are required; that is, the output message will be the only executable statement in the constructors.
• Do not implement any other methods for these classes ( i.e., ‘toString’, ‘equals’, getters and setters ).
• Implement a ‘ShapeTest’ class which will instantiate an object of each class.
• Exercise each of the ‘draw’, ‘move’, and ‘erase’ methods of each class
and here is my code:
package shape;
abstract class Shape
{
Shape()
{
System.out.println("Initialize generic shape parameters");
}
public abstract void draw();
public abstract void move();
public abstract void erase();
}
class Rectangle extends Shape
{
Rectangle(){
super();
System.out.println("Rect-constructor");
}
@Override
public void draw(){ System.out.println("draw rect");}
@Override
public void erase(){ System.out.println("erase rect");}
@Override
public void move(){ System.out.println("move rect");}
}
class Triangle extends Shape
{
Triangle(){
super();
System.out.println("Tri-constructor");
}
@Override
public void draw(){ System.out.println("draw tri");}
@Override
public void erase(){ System.out.println("erase tri");}
@Override
public void move(){ System.out.println("move tri");}
}
class Ellipse extends Shape
{
Ellipse(){
super();
System.out.println("Ellipse-constructor");
}
@Override
public void draw(){ System.out.println("draw el");}
@Override
public void erase(){ System.out.println("erase el");}
@Override
public void move(){ System.out.println("move el");}
}
class Square extends Rectangle
{
Square(){
super(); //square parameters of course
System.out.println("square constructor");
}
class Circle extends Ellipse
{
Circle(){
super(); //circ parameters of course
System.out.println("circ constructor");
}
}
}
When I run the program I get the run project error:
shape.Shape class wasn't found in Shape project.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
I had no error. This is the ShapeTest class:
`
public class ShapeTest {
}`