Herança e Polimofismo - URGENTE

1 resposta
S

Boa noite Pessoal estou precisando muito da ajuda de vocês.

Não estou conseguindo (sabendo) como criar uma instancia de uma classe.

TEnho uma espécie de Simulador de Processador onde na seguinte Class Principal, leio um arquivo TXT e faço um Split para separa os comandos e valores/registradores ex.:
ADD 5,0
SUB 1,0

[b]public class Processador{



public void main (String[] args0) throws IOException{

try{

String entr = c:\fatorial.txt;

FileReader Fr = new FileReader(entr);

BufferedReader Br = new BufferedReader(Fr);

String linha = Br.readLine();

int aux = 0;

while(linha != null){

incrementaPC();

temp = linha.split("[ ,]");

for(int a=0; a < temp.length; a++){

s[aux++] = temp[a];

}

linha = Br.readLine();

}

}catch(FileNotFoundException e){



}

executar();

}
public void atualizaPC (int pos){ }   
public void incrementaPC(){  pc++;  }
public int getReg(int r){  return 0;/*registradores;*/  }    
public void setReg(int r, int v){ registrador[r] = v;  }

public void executar(){              
    for(int a = 0; a &lt; s.length; a++){            
       ....
        if (s[a].equals("STR")){
            //System.out.print(".STR\n");
            //Instrucao;  }
        ....
     }       
}
...

}[/b]

Tenho também o seguinte:



public abstract class Instrucao{

public abstract void executar(Processador processador);

}
e várias subclasse, por exemplo;

[b]public class Add extends Instrucao{

public void executar(Processador processador){

<a href="//processador.setReg">//processador.setReg</a>(1, processador.getReg(0) + processador.getReg(1));

}

}[/b]

Não estou conseguindo, chamar estas subclasses que serão reponsáveis por exexutar uma operação, que foi identificada no Split da Class Processador, resumindo a Class processador identifica todos os comando contidos no arquivo, armazena tudo num array, e depois procura todos os valores no array qdo tiver uma instrução eu devo chamar a class responsável por esta operação, onde a mesma atulizará um array REGISTRADORES q está na Class Pocessador…

ME AUDEM POR FAVOR

1 Resposta

J

Primeiro, você não pode chamar metodos de instancia em um contexto estatico, portanto, crie uma instancia de Processador antes de chamar os metodos.

public void main (String[] args0) throws IOException{ try{ Processador proc = new Processador(); //... proc.incrementaPC(); //... proc.executar(); //... }

Pra chamar a Instrucao:

Instrucao inst = new Add(); inst.executar(proc);

Criado 22 de abril de 2007
Ultima resposta 23 de abr. de 2007
Respostas 1
Participantes 2