1

RotatingGeometryUpdaterという名前のクラスを作成しましたが、コンパイルすると次のエラーが表示 されます。

どうすればいいですか?

私のコードは.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.media.j3d.*;
import javax.vecmath.*;


public class RotatingGeometryUpdater implements GeometryUpdater
{
 long lastFrame = 0;

 public RotatingGeometryUpdater ( )
 {
 }
 // public abstract void updateData(Geometry g){}
public boolean update( Graphics graphics, RenderingEngine engine,
 GeometryArray geometry, int index, long frameNumber )
 {
  if ( lastFrame != frameNumber )
  {
    lastFrame = frameNumber;
Vector3d viewAngle = engine.getViewAngle( );
 viewAngle.x += 1;
       engine.setViewAngle( viewAngle );
  }
   return false;
 }
}
4

1 に答える 1

1
what shoud I do?

エラー メッセージが示しているメソッドが見つからないことを示すメソッドを実装する必要があります。インターフェイスを実装すると、インターフェイスによって指定された契約に同意したことになります。この概念は、契約による設計と呼ばれます。

クラスは具象クラスであるため、updateData(Geometry)の実装を提供する必要があります。

これは、誰かがあなたのクラスを次のように使用する可能性があるためです。

GeometryUpdater geom = new  RotatingGeometryUpdater();
geom.updateData();
^-- this line would break, as you have not implemented the method!

では、これをどのように実装しますか?

public void updateData(Geometry g){
  // do stuff
}
于 2013-09-19T16:51:13.937 に答える