尝试使用GOval创建一个抽象类,并将图形扩展到普通类

时间:2017-12-08 12:12:54

标签: java interface abstract-class

我被赋予了一个任务来制作三个抽象方法,并将它们放在一个扩展到普通类的抽象类中。一个是圆形,第二个是彩色的平行四边形,还有一个弯曲的图形实体。 所以我提出的想法是披萨制造商。有三个浇头是较小的抽象类,但我可以绕过它以使其工作。我看到很多抽象的例子,但他们并没有真正地给我我需要的东西。问题来了,我做了黑圈课,我无法从另一个班级进入。它不能实例化blackCircle而且我厌倦了穿上一个不起作用的不同课程。由于时间的原因,我在过去的几个小时里没有做任何过程,所以我想知道是否有人可以指出我正确的方向,我做错了什么。

我的主要课程

import java.awt.Color;
import java.awt.event.MouseEvent;

import acm.graphics.*;

import acm.program.GraphicsProgram;
import testingField.ToppingsMenu.toppings;
import testingField.designFactory.Shape;

public class pizzaFactory extends GraphicsProgram {
public void init(){
theDough();
theSauce();

addMouseListeners();

}
public static void main(String[] args){
    toppings blackCircle = new blackCircle;
    // where the problem begins//
}
public void theDough(){
    dough = new GOval (100,100,200,200);
    dough.setColor(Color.YELLOW);
    dough.setFilled(true);
    add(dough);
}
public void theSauce(){
    sauce = new GOval (100,100,180,180);
    sauce.setColor(Color.RED);
    sauce.setFilled(true);
    add(sauce);
}

public void mousePressed(MouseEvent e)
   {
     last = new GPoint(e.getPoint());
     gobj = getElementAt(last);
   }

public void mouseDragged(MouseEvent e)
   {
       if (gobj != null) {
             gobj.move(e.getX() - last.getX(), e.getY() - last.getY());
             last = new GPoint(e.getPoint());
          }
   }

public void mouseClicked(MouseEvent e)
   {
       if (gobj != null) gobj.sendToFront();
   }

private GObject gobj;
private GPoint last;
private GOval dough;
private GOval sauce;
  }

我的抽象类

 import java.awt.Color;

 import acm.graphics.*;
 import acm.program.GraphicsProgram;
 import testingField.ToppingsMenu.toppings;

  public abstract class blackCircle extends GraphicsProgram implements 
 toppings {

public void init(){
    blackCircle = new GOval (radius,radius,radius,radius);
    blackCircle.setColor(Color.black);
    blackCircle.setFilled(true);
    add(blackCircle);
}


public void draw() {
      System.out.println("Olives");
      init();
   }
private  GOval blackCircle;
private int radius = 10;
}

我的界面

public class ToppingsMenu {
public interface toppings {
    abstract void draw();

}
}

0 个答案:

没有答案