SóProvas


ID
56683
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de programação orientada a objetos
e sua implementação na linguagem Java, julgue os próximos
itens.

Em Java, se uma subclasse é derivada de uma superclasse com um método abstract sem fornecer uma definição para esse método abstract na subclasse, esse método permanece abstract e os objetos instanciados a partir dessa subclasse não poderão utilizar o método abstract.

Alternativas
Comentários
  • "...na subclasse, esse método permanece abstract..." O que obriga a subclasse a ser abstract.Talvez não tenha compreendido corretamente o enunciado, mas parece-me que o que está errado é o fato de termos objetos instanciados a partir da subclasse que é abstract, pois possui ela ainda possui um método abstract.
  • Não sou especialista em java, mas até onde sei, quando você herda uma classe com método abstract você é obrigado a implementar esse método!
  • Quando uma subclasse herda um método abstract, há duas opções: - A classe é declarada abstract, portanto não pode ser instanciada; ou - A classe é concreta, sendo obrigatória a implementação do método herdado.No caso da questão, a classe herdou o método e não implementou, então ela precisa ser abstrata, e não pode ser instanciada.
  • Uma classe abstract define uma interface comum para os vários membros de uma hierarquia de classe. A classe abstract contém métodos que serão definidos nas subclasses. Todas as classes na hierarquia podem utilizar essa mesma interface por meio de polimorfismo.

    Apesar de não podermos instanciar objetos de superclasses abstract, podemos declarar referências para superclasses abstract. Podem-se usar essas referências para permitir manipulações polimórficas de objetos de subclasse quando esses objetos são instanciados a partir de classes concretas.

    Se uma subclasse é derivada de uma superclasse com um método abstract e se nenhuma definição é fornecida na subclasse para esse método abstract (isto é, se ele não é sobrescrito na subclasse), ele permanece abstract na subclasse. Conseqüentemente, a subclasse também é uma classe abstract e deve ser explicitamente declarada como uma classe abstract [Deitel].

  • ERRADO.
     Em Java, se uma subclasse é derivada de uma superclasse com um método abstract sem fornecer uma definição para esse método abstract na subclasse, esse método permanece abstract e os objetos instanciados a partir dessa subclasse não poderão utilizar o método abstract.

    Classe que contenha um método abstrato, ou que seja derivada de alguma classe que contenha um metodo abstrato mas não complete sua declaração, NÃO PODE SER INSTANCIADA.


    {}ao
    Bons Estudos
    Marcelo
  • O enunciado dessa questão deixou-me confusa. O verbo utilizado pela banca foi "definir", não "implementar". Na minha opinião, são duas coisas diferentes e em outras questões do CESPE percebi que o sentido também é diferente. Uma interface, por exemplo, define um método abstrato, porém não o implementa.