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