0
パブリック抽象クラスASTNode3はASTNodeを拡張します{

    ASTNode child1;
    ASTNode child2;
    ASTNode child3;

    public ASTNode3(ASTNode c1、ASTNode c2、ASTNode c3){
    child1 = c1;
    child2 = c2;
    child3 = c3;
    }

    public ASTNode getChild1(){
    child1を返します。
    }

    public ASTNode getChild2(){
    child2を返します。
    }

    public ASTNode getChild3(){
    child3を返します。
    }
}

パブリッククラスIRProcはASTNode3を拡張します{

    public IRProc(String p、Vector v、IRCmdSeq cmds){
    super(p、v、cmds);
    }

以下に示すようにASTNodeを拡張しましたが、引数としてVectorとStringを渡そうとすると、エラーが発生し続けます。ノードに影響を与えずにこれらの値を渡すにはどうすればよいですか。型を処理する中間クラスを作成することを考えていましたが、その方法がわかりません。

4

1 に答える 1

2

ラインで

super(p,v,cmds);

ASTNode3(ASTNode c1, ASTNode c2, ASTNode c3)引数を指定してコンストラクターを呼び出そうとしますString p, Vector v, IRCmdSeq cmds。これは一致しません。

ASTNodeを呼び出すには、 のインスタンスを作成する必要がありますsuper()。これをどのように行うかは、何をしたいかによって異なります。pおそらく、どのような情報が含まれているかを説明する必要がvありcmdsます。

于 2009-10-31T20:52:09.223 に答える