Leandro Serra
Quiz by , created more than 1 year ago

Questões realizadas no curso de Orientação a Objetos do ITA (Coursera). Aproveite e faça o curso você também, excelente material de aprendizado.

35
0
0
Leandro Serra
Created by Leandro Serra over 6 years ago
Close

Acoplamento complexo

Question 1 of 8

1

Diferença entre delegação e redirecionamento:

Select one of the following:

  • Delegação é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é igual a m!

  • Delegação é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é diferente de m!

  • Redirecionamento é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é diferente de m!

  • Redirecionamento é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é igual a m!

Explanation

Question 2 of 8

1

Reconheça o conceito de delegação no código Java abaixo, seguindo o seguinte formato: [classe delegadora–método delegador/objeto delegado–classe delegada–método delegado]
public class GerenteDeVendas{
. . .
public void aumenteVendasTrimestralmente( ){. . .}
. . .
}
public class VicePresidenteDeVendas{
. . .
public void aumenteVendasTrimestralmente( ){
gerDeVendas.aumenteVendasTrimestralmente( );
}
. . .
GerenteDeVendas gerDeVendas;
}
public class Presidente{
. . .
public void aumenteLucros(Financeiro financeiro){
vpDeVendas.aumenteVendasTrimestralmente( );
}
. . .
VicePresidenteDeVendas vpDeVendas;
}

Select one of the following:

  • VicePresidenteDeVendas–aumenteVendasTrimestralmente( )/gerDeVendas–GerenteDeVendas–aumenteVendasTrimestralmente( )

  • Presidente–aumenteLucros( )/vpDeVendas–VicePresidenteDeVendas–aumenteVendasTrimestralmente( )

Explanation

Question 3 of 8

1

O trecho "vpDeVendas.getGerDeVendas( ).monitoraMarketing( )" corresponde a objeto anônimo de que classe?
public class GerenteDeVendas{
. . .
public void aumenteVendasTrimestralmente( ){. . .}
public void monitoraMarketing( ){. . .}
. . .
}
public class VicePresidenteDeVendas{
public void aumenteVendasTrimestralmente( ){
gerDeVendas.aumenteVendasTrimestralmente( )
} public GerenteDeVendas getGerDeVendas( ){return gerDeVendas;}
. . .
GerenteDeVendas gerDeVendas;
}
public class Presidente{
. . .
public void aumenteLucros(Financeiro financeiro){
vpDeVendas.aumenteVendasTrimestralmente( );
// analisa estratégia de marketing
vpDeVendas.getGerDeVendas( ).monitoraMarketing( );
. . .
}
. . .
VicePresidenteDeVendas vpDeVendas;
}

gerDeVendas.aumenteVendasTrimestralmente( )

Select one of the following:

  • Presidente

  • GerenteDeVendas

  • VicePresidenteDeVendas

Explanation

Question 4 of 8

1

Dentre as mensagens ou invocações de métodos no método aumenteLucros(Financeiro financeiro) da classe Presidente abaixo, aponte qual não satisfaz o princípio "Law of Demeter". Escolha dentre os números 1 a 4!
public class Presidente{
. . .
public void aumenteLucros(Financeiro financeiro){
1 vpDeVendas.aumenteVendasTrimestralmente( );
2 this.verificaDadosContábeis();
// analisa estratégia de marketing
3 vpDeVendas.getGerDeVendas( ).monitoraMarketing( ); . . .
Estoque estoque = new Estoque();
4 estoque.getSaldoGeral();
5 financeiro.consisteDados();
}
. . .
VicePresidenteDeVendas vpDeVendas;
}

Select one of the following:

  • 5

  • 4

  • 2

  • 1

  • 3

Explanation

Question 5 of 8

1

Reconheça o conceito de redirecionamento no código Java da questão 3, seguindo o seguinte formato: [classe delegadora–método delegador/objeto delegado–classe delegada–método delegado]

Select one of the following:

  • VicePresidenteDeVendas–aumenteVendasTrimestralmente( )/gerDeVendas–GerenteDeVendas–aumenteVendasTrimestralmente()

  • Presidente–aumenteLucros( )/vpDeVendas–VicePresidenteDeVendas–aumenteVendasTrimestralmente( )

Explanation

Question 6 of 8

1

Ao usar os princípios "Law of Demeter", "Tell, Don't Ask!" e delegação, chegamos ao código Java abaixo. Está tudo correto?

public class GerenteDeVendas{
. . .
public void aumenteVendasTrimestralmente( ){. . .}
1 public void monitoraMarketing( ){. . .}
. . .
}
public class VicePresidenteDeVendas{
public void aumenteVendasTrimestralmente( ){. . .}
2 public void analisaEstrategiaMarketing( ){
3 gerDeVendas.monitoraMarketing( );
4 }
. . .
GerenteDeVendas gerDeVendas;
}
public class Presidente{
. . .
public void aumenteLucros(Financeiro financeiro){
. . .
5 vpDeVendas.analisaEstrategiaMarketing( );
}
. . .
VicePresidenteDeVendas vpDeVendas;
}

Select one of the following:

  • Não

  • Sim

Explanation

Question 7 of 8

1

Considerando a "Law of Demeter", o que eu não posso fazer:

Select one or more of the following:

  • Usar variáveis estáticas!

  • invocar método de amigo

  • invocar método de amigo de amigo de amigo

  • invocar método de amigo de amigo

Explanation

Question 8 of 8

1

Diferença entre delegação e redirecionamento:

Select one or more of the following:

  • Delegação é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é igual a m!


  • Delegação é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é diferente de m!


  • Redirecionamento é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é diferente de m!


  • Redirecionamento é quando um método m apenas repassa sua responsabilidade para outro método de outra classe, cujo nome desse outro método é igual a m!

Explanation