Avançar para o conteúdo principal

Exercícios teóricos sobre Orientação a Objectos Da Universidade Agostinho Neto

 

TEÓRIAS DE POO

#Em java, um método declarado protected...

  • Só pode ser acedido dentro da própria classe ou por classes derivadas
  •  Não pode ser redefinido
  • Não pode chamar outros métodos que também não sejam protected
  • Pode ser acedido por classes do mesmo pacote
  •  Só pode ser usados por construtores

Resposta: Só pode ser acedido por classes do mesmo pacote

#Que característica da linguagem OO permite que objectos de diferentes tipos sejam tratados de forma indiferenciada:

  • Abstração
  •  Herança
  •  Polimorfismo
  • Instanciação
  • Nenhuma das anteriores

Resposta: Herança

Para uma super classe lhe é indiferente quém irá lhe herdar, afinal não inporta quem irá herdar a super classe porque a super classe nunca conheci quém á herdou, por isso tanto faz para ela; neste caso ela trata todos de forma indiferente.

#Como se designa a operação que permite que um tipo hierarquicamente superior seja usado para referir uma instância de um tipo dele derivado.

  • Polimorfismo
  • Herança
  • Upcasting
  • Downcasting
  • Redefinição

Resposta: Downcasting

Upcasting -> é um tipo de instânciamento que não precisa de ser referênciado, acontece naturalmente.

Downcasting -> é um tipo de instânciamento que precisa de ser referênciado, acontece quando especificamos uma super classe para conversão.

#A definição de métodos, por uma classe, de métodos especificados numa interface, designa-se por:

  • Encapsulamento
  • Implementação
  • Downcasting
  • Sobrecarga

Resposta: Implementação

#Em java, quando se pretende que uma classe A não pode ter subclasse, deve-se define-la da seguinte forma:

  •  Public final class A
  • Private class A
  • Public single class A
  • Protected class A
  • Class A

Resposta: public final class A

Justificação: o modificador final não permite que modifiquem o objecto que ela está a representar, sendo assim quando fazemos uma herança; estamos apermitir com que uma subclasse modifica uma super classe, e o final para impedir isso ela ném mesmo permite que essa herança aconteça; logo se não existir herança não pode existir subclasse. Porque uma classe só é chamada de subclasse quando ela herda uma classe qualquer; mas como o final não permite que essa herança aconteça, então não existe subclasse; logo isso, diz-se que o final não permite que uma classe tenha subclasses.

#Que diferênça existe entre o conceito de sobrecarregar (Overloading) e Sobreescrever (Overriding). Dé um exemplo:

Resposta: A diferênça que existe entre sobreescrita e sobrecarga, é que a sobrecarga só acontece nos métodos construtores de uma classe; e a sobreescrita acontece quando reenscrevemos um método de uma classe superior (superclass).

#Descreva em que medida o processo de redefinição de métodos aliado ao mecanismo de herança permite melhorar a escrita de um programa.

Resposta: Posso começar a dizer que elimina a redundância de códigos, ou seja, ela torna o código mais enchuto; também facilita na manutenção do programa, assim, se tenho que verificar um erro em uma superclasse basta alterar ela que todas as subclasses serão afetadas por essa modificação.

#Em java, para evitar a alteração do valor de uma variável, usa-se a palavra chave:

  • Const
  • Static
  • Final
  • private
  • nenhuma das anterior

Resposta: final

#Em java, e acerca de classes abstractas e interfaces, qual é a afirmação verdadeira?:

  •  Não há diferenças
  • Uma classe pode ter várias super classes desde que estas sejam classes abstractas
  •  As classes abstractas não podem ter atributos “final”
  • Uma classe só pode concretizar (implementar) uma interface
  • Nenhuma das anterior

Resposta: Nenhuma das anteriores

#O que entende por polimorfismo? Que tipos de polimorfismo existe? Fundamente.

Resposta: Polimorfismo é a capacidade que um método tem de se comportar de formas diferentes em uma classe ou em classes externas.

Tipo de polimorfismo: Existe o polimorfismo de Sobrecarga e de Sobre escrita.

Fundamento: O polimorfismo de sobrecarga, existe quando temos dois ou mais métodos contrutores declarados na mesma classe com parametros diferentes; ou seja, é o mesmo método se comportando de formas diferentes.

 Fundamento: O polimorfismo de sobreescrita, existe quando temos um ou mais métodos de uma classe superior (superclass) a serem reenscrito; ou seja, é o mesmo método a sumindo um corpo de instruções diferentes.

#O que entendes por Classe Abstracta? De que modo é que elas se diferenciam das interfaces? Dê um exemplo.

Resposta: Classes abstractas, são classes que posuem métodos abstractos e métodos não abstratos; na qual os métodos abstractos não possuem corpos, já os não abstractos possuem um corpo.

Diferença: Uma classe abstracta é herdado, enquanto uma classe interface é implementada; todos os métodos de uma classe interface é abstracto (sem corpos), em quanto uma classe abstracta possue métodos abstractos (sem corpos) e métodos não abstratcos com corpos.

#Em Java, a dimensão de um vector:

  • tem de ser conhecida no momento da compilação
  • só pode aumentar durante a execução do programa
  • pode ser alterada durante a execução do programa
  • é fixa e tem de ser conhecida no momento da criação do vector
  • Nenhuma das anteriores

Resposta: é fixa e tem de ser conhecida no momento da criação do vector

#Em java, qual das seguintes afirmações é verdadeira?

  • Cada classe tem de ter, pelo menos, um construtor público
  • Existem classes sem construtores
  • Todas as classes têm, pelo menos, um construtor
  • Todas as classes têm, pelo menos, um construtor sem argumentos definido
  • Todas as anteriores

Resposta: Todas as classes têm, pelo menos, um construtor sem argumentos definido

Comentários