1

継承について読んでいます。例を実行しようとしましたが、何かがおかしいです。私はすべてのコードを書きましたが、継承されるはずの特定のメソッドが表示されません。メソッドは add(GObject arg) です

クラスのコードは次のとおりです。

package ExistingClasses;
import acm.graphics.*;

public class FilledRect extends GRect {

    public FilledRect(double x, double y, double width, double height) {
        super(x, y, width, height);
        setFilled(true);
    }
}

上記のコードを書いた後、他のクラスで使用したいコードは次のとおりです。

package ExistingClasses;

public class TestFilledRect extends FilledRect {

    public void run(){                      
        FilledRect rect = new FilledRect(45, 34, 34, 34);
        add(rect);  
    }
}

add メソッドは機能しません。本のやり方に従いました。楕円、長方形、線など、描いたものがすべて表示されるように、 add メソッドがあるとします。私を助けてください。

add メソッドは、GraphicsProgram クラスを拡張するときにのみ機能します。私を助けてください。よろしくお願いします。

私が使用している本は The Art and Science of Java pgs 205 - 207 です。

4

1 に答える 1

0

GRectには add メソッドがありません。 GraphicsProgramには add メソッドがあります。上記のテストで add メソッドが見つからないのはそのためです。GraphicsProgram を拡張して GRect を GraphicsProgram に追加するクラスにいる必要があります。

于 2014-02-05T14:54:20.360 に答える