SóProvas


ID
392203
Banca
Aeronáutica
Órgão
CIAAR
Ano
2009
Provas
Disciplina
Engenharia de Software
Assuntos

Em relação à Programação Orientada a Objetos, analise as assertivas e assinale a alternativa que aponta a(s) correta(s).

I. A sobrecarga de métodos (overloading) indica que métodos possuem o mesmo nome, ter lista de argumentos diferentes, usar diferentes modificadores de acesso e lançar exceções diferentes. No entanto, o tipo de retorno deve ser o igual.
II. Os métodos construtores podem ser sobrecarregados e sobrescrito, no entanto para ser sobrescrito, a classe deve possuir uma superclasse com métodos sobrecarregados.
III. Uma variável de referência do tipo superclasse ou interface pode referenciar um objeto da subclasse. No entanto, o oposto não acontece.
IV. O encapsulamento diz respeito à ocultação dos detalhes de implementação de uma classe. Podemos utilizar modificadores de acesso public, private e protected para informar o nível de visibilidade de propriedades e métodos de uma classe.

Alternativas
Comentários
  • C) Apenas III e IV estão corretas.

  • I - Overloading é o mesmo nome com parâmetros diferentes (em quantidade ou tipo) e só. Além disso, dois métodos não podem ter a mesma assinatura, que é composto por nome + parâmetros. Se a única diferença entre dois métodos for o tipo de retorno, o modificador de acesso ou o lançamento de exceção, irá gerar erro de compilação devido à duplicação de assinaturas.

    II - Construtores podem ser sobrecarregados. Sobrescrito não faz sentido.

    III - Correto. Animal c = new Cachorr0(). Todo cachorr0 é um animal, mas nem todo animal é um cachorr0.

    IV - Correto. Faltou ainda o modificador de acesso default (package), no caso de Java