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 na aula do 4º Exercício de Programação (EP4).
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:
- Uma porta lógica AND pode ser criada já com valores para as suas entradas ou então pode ser criada com o valor por omissão "false" para as 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.
- Neste caso, quando é criado uma porta lógica de 3 entradas, o valor de cada uma das entrada é false.
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.
Relembra-se que todo o código concretizado deve seguir as regras de codificação da disciplina.
Altere o código desta classe, por forma a que quando é criado uma porta lógica de 3 entradas, o valor de cada uma das entrada é true.
Solução Proposta
A solução proposta só deve ser consultada após ter realizado o exercício proposto. Compare a sua solução com a solução proposta e caso haja diferenças, tente percebê-las por forma a descobrir se tem erros na sua solução ou utilizou apenas outra abordagem para realizar o trabalho pedido.- TrenaryAndGate.java (não tem em conta a alteração)