1
resposta

Erro no material escrito - Aula 04 Interpreter

Acredito que exista um erro nas classes apresentadas no material escrito. Primeiro a existência do termo public na definição da classe e o segundo erro é nas funções avalia. Elas estão utilizando uma variável não definida, sendo que o correto seria o uso do $this->esquerda e $this->direita .

public class Soma implements Expressao {

    private $esquerda;
    private $direita;

    function __construc($esquerda, $direita) {
        $this->esquerda = $esquerda;
        $this->direita = $direita;
    }

    public function avalia() {
        $resultadoDaEsquerda = $esquerda->avalia();
        $resultadoDaDireita = $direita->avalia();
        return $resultadoDaEsquerda + $resultadoDaDireita;
    }
}

public class Subtracao implements Expressao {

    private $esquerda;
    private $direita;

    function __construct(Expressao $esquerda, Expressao $direita) {
        $this->esquerda = $esquerda;
        $this->direita = $direita;

    }

    public function avalia() {
        $resultadoDaEsquerda = $esquerda->avalia();
        $resultadoDaDireita = $direita->avalia();
        return $resultadoDaEsquerda - $resultadoDaDireita;
    }
}
1 resposta

Opa Francisco, realmente, pelo que vejo tem um problema mesmo. Vou adicionar na nossa pilha de correções onde sempre estamos revisando probleminhas assim de digitação e corrigindo.

Só queria fazer um pedido que ajuda a gente a corrigir isso mais rapidamente. Na aula, no menu superior esquerdo da atividade (menu de três pontinhos) tem uma opção de sugerir melhoria, nessa opção você mesmo pode enviar uma melhoria de edição no texto. As vezes um texto pode estar confuso ou coisa do tipo, com erros como esses e fazendo assim, ele vai direto para nossa pilha de correções entende?

Já tentei corrigir lá, verifica se tá certo pra mim por favor?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software