Questões de Concurso sobre Programação Orientada a Aspecto (POA)

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
16 questões encontradas
Questões por página
20
Mais recentes
 

Na Programação Orientada a Objetos (POO), os modificadores de acesso são palavraschave que controlam a visibilidade e o comportamento de classes, atributos e métodos. Eles podem restringir o acesso a esses elementos, tanto dentro de uma classe quanto entre subclasses ou pacotes, além de definir se pertencem à classe ou à instância.


Sobre o tema modificadores, associe os termos às descrições, utilizando os códigos a seguir:



I. static.

II. public.

III. private.

IV. protected.


( ) Ao ser definido em um elemento, significa que pode ser acessado apenas dentro da mesma classe.

( ) Ao ser definido em um elemento, significa que pode ser acessado apenas entre classes que se relacionam em uma hierarquia de herança.

( ) Ao ser definido em um elemento, significa que pertence à classe, em vez de pertencer a instâncias individuais dessa classe.

( ) Ao ser definido em um elemento, significa que pode ser acessado por qualquer classe, seja dentro ou fora do pacote da classe.


A associação correta, de cima para baixo, é:


A

II - IV - III - I.


B

III - IV - I - II.


C

I - II - IV - III


D

IV - III - I - II.

A Programação Orientada a Objetos (POO) é um paradigma de programação que revolucionou a forma como desenvolvemos software. Baseada em conceitos como encapsulamento, herança e polimorfismo, a POO oferece uma abordagem estruturada e modular para o desenvolvimento de sistemas complexos. No campo da educação, especialmente no ensino de POO, pesquisadores têm buscado métodos que facilitem o processo de aprendizagem, já que muitas vezes, alunos enfrentam dificuldades para compreender esses conceitos abstratos.


Texto publicado no XXXVI Congresso da Sociedade Brasileira de Computação diz que


“A Programação Orientada a Objetos (POO) mostra-se um paradigma de programação, influente, pelo qual a maior parte dos cursos da área de computação incluem a POO como parte de seus currículos. No entanto, o ensino de POO não é uma tarefa trivial.

Há alertas sobre as dificuldades encontradas por alunos e professores no ensino de POO; os autores apontam que é difícil para os alunos entenderem conceitos abstratos como classes, instâncias, encapsulamento, herança e construtores.

Apesar de muitos esforços terem sido feitos desde então, as disciplinas de programação ainda são responsáveis por um alto índice de reprovação nos cursos de computação.”


Considerando os conceitos de Programação Orientada a Objetos, avalie as seguintes asserções e a relação proposta entre elas:


I. A herança de classes é uma das principais características da Programação Orientada a Objetos (POO). Por meio dessa característica do paradigma POO, um objeto recebe características e comportamentos de outro objeto. Quando estiver criando classes, você vai perceber que essa possibilidade permite o reaproveitamento de código e torna o trabalho mais racional e otimizado.


PORQUE


II. Novas classes podem ser definidas em termos das classes existentes, usando-se herança de classe. Quando uma subclasse herda de uma classe-mãe, ela inclui as definições de todos os dados e operações que a classe-mãe define. Os objetos que são instâncias das subclasses conterão todos os dados definidos pela subclasse e suas classesmãe, e eles serão capazes de executar todas as operações definidas por esta subclasse e seus “ancestrais”.


A respeito dessas asserções, qual é a opção correta?


A

As asserções I e II são proposições verdadeiras, mas a II não é justificativa da I.


B

As asserções I e II são proposições verdadeiras, e a II é justificativa da I.


C

A asserção I é proposição verdadeira, mas a II é uma proposição falsa.


D

A asserção I é proposição falsa, mas a II é uma proposição verdadeira.

A Programação Orientada a Objetos (POO) é um paradigma que organiza o código em torno de objetos e classes, utilizando conceitos como herança e polimorfismo para promover reutilização e flexibilidade.


Assinale a opção que descreve corretamente o conceito de polimorfismo em POO.


A

É a capacidade de uma classe herdar os atributos e métodos de outra classe, permitindo a reutilização de código.


B

É a capacidade de criar múltiplas classes que compartilham o mesmo nome, mas possuem implementações completamente diferentes.


C

É a capacidade de um método ou objeto se comportar de diferentes maneiras dependendo do contexto ou do tipo do objeto.


D

É a técnica de usar métodos com o mesmo nome, mas assinaturas diferentes, em uma mesma classe.


E

É a técnica de restringir o acesso aos atributos de uma classe, garantindo a segurança dos dados.

O Spring Framework é um framework amplamente utilizado para o desenvolvimento de aplicações criadas na linguagem de programação Java. Este framework viabiliza uma infraestrutura robusta para simplificar o processo de desenvolvimento, permitindo que os desenvolvedores se concentrem na lógica do negócio em vez de aspectos complexos da configuração e integração, desta forma, facilitando o trabalho dos desenvolvedores, para que os mesmos sejam mais assertivos na implementação do software. O Spring Framework possui componentes principais, dentre estes componentes, pode-se citar o componente Spring AOP. Qual a finalidade do Spring AOP?


A

Gerencia o ciclo de vida e as dependências dos objetos.


B

Facilita a interação com bancos de dados, fornecendo repositórios e suporte para JPA.


C

Suporte completo para criar aplicações web baseadas no Spring.


D

Implementa a programação orientada a aspectos.

Assinale a opção correta no que se refere a interfaces e classes abstratas.


A

O uso de interfaces impede o uso de herança.


B

Uma interface define o comportamento interno de uma classe.


C

Em qualquer versão do Java, uma interface pode conter implementações concretas de métodos.


D

Classes abstratas não podem conter métodos concretos.


E

Interfaces são adequadas quando se pretende simular múltiplas heranças de comportamento.

A Programação Orientada a Objetos (POO) é um paradigma de programação que organiza o código em torno de objetos, entidades que representam elementos do mundo real e possuem características (atributos) e comportamentos (métodos). Sobre os conceitos fundamentais da POO, é correto afirmar que


A

encapsulamento é um mecanismo que protege os dados internos de um objeto, permitindo o acesso apenas por meio de seus métodos.


B

herança é a capacidade de um objeto assumir diferentes formas ou comportamentos em diferentes situações.


C

objeto é um modelo que define a estrutura de uma classe, especificando seus atributos e métodos.


D

polimorfismo é um recurso que permite que novas classes sejam criadas a partir de classes já existentes, herdando seus atributos e métodos.

A programação orientada a aspectos (POA) resume‑se à criação de herança entre classes para a reutilização de código.


C

Certo


E

Errado

A Programação Orientada a Objetos (POO) é um paradigma de programação que revolucionou a forma como desenvolvemos software. Baseada em conceitos como encapsulamento, herança e polimorfismo, a POO oferece uma abordagem estruturada e modular para o desenvolvimento de sistemas complexos. A principal vantagem da POO consiste


A

na execução mais rápida.


B

no menor consumo de memória.


C

na maior facilidade de depuração.


D

na reutilização de código e modularidade.

O Facade é uma classe que fornece uma interface simplificada para um conjunto de classes mais complexas em um subsistema.


C

Certo


E

Errado

Para facilitar o desenvolvimento de sites dinâmicos, visto que não sabemos qual será o banco de dados utilizado, faz sentido a criação de uma interface genérica de acesso ao banco de dados. Dessa forma, qualquer alteração ou implementação de um novo tipo de banco de dados pode ser realizada em um único lugar. As características para as classes que serão usadas em sites dinâmicos são:


A

para a classe de conexão com o banco de dados, são necessários poucos métodos. O primeiro é o construtor da classe, o qual deve definir o tipo de banco de dados utilizado. Além disso, precisamos do método para conexão e ainda do método para retorno dos dados da conexão.


B

para a classe abstrata que será a responsável pela conexão com o banco de dados, deve-se considerar o caminho e os métodos necessários para essa conexão. Além disso, o atributo affected_rows, que conterá o número de registros afetados por uma consulta que não retorne um resultado (INSERT, UPDATE e DELETE) e também o método para retornar esse valor.


C

para a classe de conexão, teremos os servidores para armazenamento dos dados da conexão, que além da própria conexão, devem considerar o caminho e os métodos necessários para essa conexão.


D

para a classe bd, teremos os métodos para retornar o primeiro erro gerado, o número de registros afetados por uma consulta que não gere um resultado, os dados referentes à conexão (um array) e um método para encerrar a conexão com o banco de dados.

No escopo da programação orientada a aspectos, o termo que é usado para representar pontos bem definidos na execução de um programa é conhecido como


A

pointcut.


B

advice.


C

introduction.


D

joinpoint.


E

around.

A POA permite separar a atividade de desenvolver as funcionalidades requeridas da atividade de integrar software, o que possibilita alterar sua estrutura interna, como atributos e métodos, assim como reutilizar componentes de outros sistemas.



C

Certo


E

Errado

Sobre a linguagem de programação Java, com relação aos conceitos de programação orientada a objetos, o conceito de Package denota:


A

Um mecanismo de passagem de comportamentos e estados entre classes.


B

Um namespace para organizar classes e interfaces de maneira lógica.


C

Um protótipo que modela estado e comportamentos de um objeto do mundo real, a partir do qual objetos são derivados.


D

A parte visível de um objeto, como definida por sua classe, responsável por sua interação com os demais componentes de software e outros objetos.


E

Um mecanismo para implementar diferentes métodos utilizando um nome de método comum.

O paradigma de programação orientado à objetos é o principal paradigma utilizado em Java. Com base nos conceitos de orientação a objetos, e dadas as classes a seguir, cada qual em seu respectivo arquivo e todas estando no mesmo pacote, com classpath e JDK versão 1.7 devidamente configurados, e todos os imports corretamente feitos.


X.java

public class X<T> {

private T t;

public void add(T t){

this.t = t;

}

public T get(){

return t;

}

}


A.java

public abstract class A {

private int B=0;

public int getB(){

return B;

}

public String toString(){

return "0";

}

}


B.java

public class B extends A{

private X<Integer> B = new X<Integer>();

public B(int B){

this.B.add(B);

}

public void setB(int b){

this.B.add(b);

}

public int getB(){

return this.B.get();

}

}


Z.java

public class Z extends A{

private X<Integer> B = new X<Integer>();

public Z(int B){

this.B.add(B);

}

public void setB(int b){

this.B.add(b);

}

public int getB(){

return this.B.get();

}

}


Y.java

public class Y {

public static void main(String[] args){

X<A> m = new X<A>();

X<Z> n = new X<Z>();

X<B> o = new X<B>();

for(int i=0;i<6;i++){

if(i%3==0)

n.add(new Z(i));

else

if(i%3==1)

o.add(new B(i));

else

m.add(new B(i));

}

System.out.print(n.get().getB());

System.out.print(o.get().getB());

System.out.print(m.get().getB());

}

}


Ao executarmos a classe Y.java, será exibido no console:


A

000


B

123


C

345


D

012


E

234

Dentre os principais elementos da POO (Programação Orientada a Objetos) tem-se as classes, os atributos, os métodos e as mensagens. Em se tratando dos atributos de um objeto, eles são especificados por


A

variáveis de instâncias da classe.


B

mensagens enviadas pela classes.


C

chamadas de métodos da classe.


D

objetos de instância da classe.


E

instâncias públicas da classe.

A utilização de interfaces em projetos de software orientados a objetivo promove a separação de aspectos internos e externos de um objeto, impedindo o acesso direto aos detalhes de seu funcionamento interno. Esse mecanismo de separação também contribui para que o software seja construído como um conjunto de componentes que realizam seu trabalho de forma independente.


O uso desse mecanismo em projetos de sistemas de software é um exemplo de:


A

abstração;


B

encapsulamento;


C

herança;


D

proteção de código;


E

polimorfismo.

 
 
Gerar simulado