SóProvas


ID
893854
Banca
CESPE / CEBRASPE
Órgão
TRT - 10ª REGIÃO (DF e TO)
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Com relação às características de orientação a objetos, julgue os
itens que se seguem.

O trecho de código mostrado abaixo é um exemplo de encapsulamento.

public class Animal
{
        public string Nome;
        public string Tipo;
        public string CorDoPelo;
}
public class Cavalo : Animal
{
        public string Raca;
}

Alternativas
Comentários
  • A grosso modo encapsular é deixar as propriedades (atributos) do objeto restrita (visiveis) apenas a ele proprio e dessa forma disponibilizar "métodos" para manipular essas propriedades. Acima não temos um exemplo de encapsulamento, pois todos os atributos da classe Animal e Cavalo (propriedades do objeto) são publicas, tornando-as visiveis a qualquer outra classe/objeto.

    Lembre-se sempre que para manter um bom encapsulamento devemos declarar atributos privados e metodos publicos.

    no exemplo acima, a classe estaria bem encapsulada se assim fosse:

    public class Animal {
            private string Nome;
            private string Tipo;
            private string CorDoPelo;

            public void setNome(String nome){
                    this.Nome = nome;
            }
            public String getNome(){
                    return this.Nome;
            }


            public void setTipo(String tipo){
                    this.Tipo = tipo;
            }
            public String getTipo(){
                    return this.Tipo;
            }


            public void setCorDoPelo(String corDoPelo){
                    this.CorDoPelo = corDoPelo;
            }
            public String getCorDoPelo(){
                    return this.CorDoPelo;
            }

    }
  • no way no how
    encapsular é esconder detalhes da implementação
  • O encapsulamento está ligado a propriedade de esconder detalhes de implementação na Orientação a Objetos.
    Logo os atributos acima não estão escondidos (private), mas sim estão disponibilizados abertamente (public).
    A implementação encapsulada constituiria então uma boa prática e fundamento da orientação a objeto em que uma classe possuiria seus atributos privados com getters e setters públicos para esse atributos.
  • Mesmo que todos os att fossem privates, o conceito mostrado na questão é o de Herança.

  • Discordo do colega diego oliveira.O fato de ter herança não excluiria de forma alguma o fato de ter encapsulamento, caso fosse utilizado private. O que realmente torna  questão incorreta é o fato de ser tudo public, ou seja, não está "escondendo" nada. Conceito de herança e encapsulamento podem perfeitamente coexistir.

  • Gabarito Errado

    Conceito de Herança.

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !