Objectivo
- Realização de uma classe utilizando a linguagem de programação Java.
- Aplicação de regras de codificação na realização de código.
Actividade
- Resolução do enunciado da aula aplicando as regras de codificação da disciplina.
- Resolução do Exercício de Programação 2 (EP2).
Enunciado da Aula
Realize uma classe Java que concretize uma porta lógica AND com duas entradas. Esta classe deve chamar-se AndGate e ter, entre outras que sejam (justificadamente) julgadas necessárias, a seguinte funcionalidade:
- Um método, designado setInputs, que indica qual o valor das duas entradas;
- Dois métodos que permitem alterar de forma isolada cada uma das entradas;
- Um método, designado getOutput, que indica qual o valor da saída, tendo em conta o estado actual das duas entradas.
- Dois métodos que devolvem o valor das duas entradas.
Após ter realizado esta classe, codifique o método main respectivo, por forma a demonstrar o correcto funcionamento desta classe. Nomeadamente, este método deverá criar dois objectos da classe AndGate, colocar entradas diferentes para cada um dos objectos e escrever o valor da saída obtida para cada um destes objectos. Deverá escolher as combinações de valores de entrada correctas por forma a ter valores distintos na saída dos dois objectos.
Realize uma nova classe que concretiza uma porta lógica AND com três entradas. Esta classe deve chamar-se TrenaryAndGate e ter, entre outras que sejam (justificadamente) julgadas necessárias, a seguinte funcionalidade:
- Três métodos que permitem definir o valor de cada uma das entradas;
- Um método, designado getOutput, que devolve o valor do resultado da operação lógica, tendo em conta o valor actual das três entradas;
- A funcionalidade desta classe deve ser concretizada usando a classe anterior.
Após ter realizado uma solução para a classe TrenaryAndGate, realize uma nova versão em que optimiza o número de instâncias de AndGate criadas por cada instância de TrenaryAndGate.
Todo o código concretizado deve seguir as regras de codificação da disciplina.