Programação orientada para os objectos - Questionário
  • 1. A programação orientada para objectos (OOP) é um paradigma de programação baseado no conceito de "objectos", que podem conter dados sob a forma de campos e código sob a forma de procedimentos. Os objectos são instâncias de classes, que definem a estrutura e o comportamento dos objectos. A POO centra-se na organização do código em componentes reutilizáveis e modulares, permitindo uma melhor organização e manutenção do código. O encapsulamento, a herança e o polimorfismo são conceitos-chave na POO, fornecendo mecanismos para a ocultação de dados, reutilização de código e flexibilidade na implementação. Ao modelar entidades do mundo real como objectos, a POO promove uma abordagem de conceção mais clara e intuitiva ao desenvolvimento de software.

    Qual é o principal conceito subjacente à programação orientada para objectos?
A) Polimorfismo
B) Abstração
C) Encapsulamento
D) Herança
  • 2. Que palavra-chave é utilizada para criar um objeto em Java?
A) var
B) novo
C) classe
D) este
  • 3. O que é uma classe na programação orientada para objectos?
A) Uma instância de um objeto
B) Modelo para a criação de objectos
C) Uma função em JavaScript
D) Uma variável em C++
  • 4. O que é o polimorfismo na programação orientada para objectos?
A) Extensão da funcionalidade de uma classe-mãe
B) Possibilidade de objectos de classes diferentes serem tratados como objectos de uma superclasse comum
C) Ocultar pormenores de implementação
D) Criar objectos a partir de classes
  • 5. O que é o encapsulamento na programação orientada para objectos?
A) Substituição de métodos da classe-mãe
B) Criar várias instâncias de um objeto
C) Ligação entre os dados e os métodos que operam sobre os dados
D) Herdar propriedades de uma classe-mãe
  • 6. O que é um construtor na programação orientada para objectos?
A) Um método especial que é chamado automaticamente quando um objeto é criado
B) Um método que devolve um valor
C) Um método utilizado para destruir objectos
D) Um método estático
  • 7. Para que é que a palavra-chave "super" é utilizada em Java?
A) Declarar uma variável
B) Implementação de uma interface
C) Refere-se à superclasse de uma classe, utilizada para chamar métodos da superclasse
D) Aceder a um método privado
  • 8. O que é a sobrecarga de métodos na programação orientada para objectos?
A) Ter vários métodos numa classe com o mesmo nome mas com parâmetros diferentes
B) Substituir um método de uma superclasse
C) Criar novos métodos numa subclasse
D) Ocultar os detalhes de implementação de um método
  • 9. O que é a abstração de dados na programação orientada para objectos?
A) Criar vários objectos a partir de uma classe
B) Esconder os detalhes de implementação e mostrar apenas os detalhes necessários de um objeto
C) Substituir métodos de uma classe-mãe
D) Aceder a membros privados da classe
  • 10. O que é um modificador de acesso público na programação orientada para objectos?
A) Permite que uma classe, método ou campo seja acedido por qualquer outro código no mesmo pacote ou noutro pacote
B) Restringe o acesso apenas à mesma classe
C) Oculta os detalhes do objeto
D) Permite a extensão de classes
  • 11. Para que é que a palavra-chave "final" é utilizada em Java?
A) Impede a modificação da classe, método ou variável
B) Força a substituição de métodos
C) Permite a ligação dinâmica de métodos
D) Permite a herança múltipla
  • 12. Que palavra-chave é utilizada para se referir ao objeto atual em Java?
A) super
B) novo
C) este
D) estende-se
  • 13. Que modificador de acesso permite que uma classe seja acedida por qualquer outra classe?
A) Privado
B) Predefinição
C) Público
D) Protegido
  • 14. Que palavra-chave é utilizada para herdar uma classe em Java?
A) implementa
B) estende-se
C) super
D) este
  • 15. Que termo descreve a capacidade de criar novas classes com base em classes existentes?
A) Polimorfismo
B) Encapsulamento
C) Abstração
D) Herança
  • 16. Qual é o objetivo da substituição de métodos na programação orientada para objectos?
A) Para fornecer uma implementação específica de um método que já é fornecido pela sua superclasse
B) Para ter vários métodos com o mesmo nome numa classe
C) Para ocultar os pormenores de implementação de um método
D) Para criar novos métodos numa subclasse
  • 17. Que relação representa uma situação em que uma classe é dependente de outra classe?
A) Dependência
B) Herança
C) Composição
D) Agregação
  • 18. Que termo é utilizado para descrever o ato de restringir a forma como as subclasses podem modificar uma superclasse?
A) Substituir
B) Sobrecarga
C) Substituição
D) Ultrapassagem
  • 19. Que funcionalidade permite que uma classe tenha vários métodos com o mesmo nome mas com parâmetros diferentes?
A) Encapsulamento
B) Herança
C) Substituição
D) Sobrecarga
  • 20. O que significa o acrónimo "DRY" no contexto da programação orientada para os objectos?
A) Representação de dados Ano
B) Repetir-se a si próprio
C) Não se repita
D) Estaleiro de reutilização dinâmica
  • 21. Um método que tem o mesmo nome que a classe em que está definido é conhecido como um:
A) Destruidor
B) Método mutante
C) Método de acessório
D) Construtor
  • 22. Que princípio é violado se uma subclasse não puder ser substituída pela sua superclasse?
A) Princípio da responsabilidade única
B) Princípio de substituição de Liskov
C) Princípio da inversão de dependência
D) Princípio aberto/fechado
  • 23. Que caraterística permite que o mesmo método seja utilizado para diferentes tipos de objectos?
A) Polimorfismo
B) Encapsulamento
C) Abstração
D) Herança
  • 24. Que princípio de conceção sugere que uma classe deve ter apenas uma razão para mudar?
A) Princípio da responsabilidade única
B) Princípio aberto/fechado
C) Princípio da segregação de interfaces
D) Princípio de substituição de Liskov
  • 25. Que palavra-chave é utilizada para evitar a substituição de métodos em Java?
A) estático
B) público
C) final
D) abstrato
  • 26. Qual é o princípio de conceção que estabelece que as classes devem ser abertas para extensão mas fechadas para modificação?
A) Princípio da segregação de interfaces
B) Princípio da responsabilidade única
C) Princípio de substituição de Liskov
D) Princípio aberto/fechado
  • 27. Qual das seguintes opções permite a herança múltipla em C++?
A) Classes abstractas
B) Polimorfismo
C) Interfaces
D) Herança virtual
  • 28. Que tipo de relação reflecte uma relação "tem-uma" entre classes?
A) Herança
B) Dependência
C) Agregação
D) Composição
Criado com That Quiz — onde podemos encontrar exercícios de matemática e de outras disciplinas.