sábado, 26 de dezembro de 2015

Concurso - Orientação a Objetos

Uma das coisas boas em se almejar um cargo público é a necessidade de estudar matérias que normalmente se conhece apenas a parte prática, na qual vários profissionais deixam de lado vários conceitos importantes. Permita-me citar o caso de Português, essa é uma matéria que aprendemos de forma decorativa nos 1º e 2º graus apenas para conseguirmos passar de ano, porém na vida profissional cometemos diversos "barbarismos" ao escrevermos, por exemplo, um e-mail ou uma solicitação.
Como este blog trata sobre Empregabilidade resolvi tratar algumas questões de concursos para explicar alguns conceitos importantes, como não sou professor de Português o assunto tratado será relacionado a Informática. Vamos a nossa questão:
Análise e Projeto OO - Prova TRT - 23 - FCC 2011
Sobre os conceitos da orientação a objetos, considere:

I. Classe encapsula dados para descrever o conteúdo de alguma entidade do mundo real.
II. Objetos são instâncias de uma classe que herdam os atributos e as operações de uma classe.
III. Superclasse é uma especialização de um conjunto de classes relacionadas a elas.
IV. Operações, métodos ou serviços fornecem representações dos comportamentos de uma classe.

Está correto e correto o que consta em:

a) I, II, III e IV.
b) I, II e IV, apenas.
c) II, III e IV, apenas.
d) I e II, apenas.
e) II e IV, apenas.
Para podermos resolver essa questão, devemos conhecer os conceitos (e não a prática) da orientação a objetos. O que é Orientação a Objetos? É um enfoque que define um sistema como uma coleção de objetos que interagem entre si, que possuem características próprias.

O que são classes? são modelos ou templates para os objetos. Possuem as seguintes propriedades:
  • Atributos que armazenam informações sobre o estado do objeto.
  • Operações (ou métodos, ou serviços) que são oferecidas para implementar o comportamento do objeto.
O que são objetos? E a implementação física e real (ou uma instância) de uma classe. Possuem os seguintes componentes:
  • Identidade que é a propriedade que o distingue de outros objetos (OID).
  • Estado que reflete os valores correntes dos atributos.
  • Comportamento que é o modo como o objeto reage em termos da mudança de seu estado.
O termo herança é muito abrangente e normalmente o conhecemos em relação a duas classes, mas também pode ser aplicado ao afirmar que um objeto é uma herança de uma classe. Ou seja, neste caso está aplicado em relação receber as características de atributos e operações. O princípio básico da herança, ou generalização, trata da criação de novas classes mais especializadas a partir de classes já existentes (chamadas de superclasses), essas novas classes são especializações para sua melhor adaptabilidade.

O termo encapsulamento refere-se a esconder detalhes da implementação que não deve ser acessado externamente, esse termo tanto pode se referir a atributos como a operações.

Com esses conceitos em mente podemos responder a questão. A primeira está errada pois o encapsulamento não serve para descrever algo, serve para esconder algo. A segunda está correta apesar de muitas pessoas acharem que o termo herdar não se aplicaria entre objetos e classes. A terceira foi trocado o termo especialização por generalização, ou seja, a Superclasse é uma generalização de um conjunto de classes, ou invertendo, um conjunto de classes é uma especialização de uma superclasse. E a quarta está correta pelo que já vimos sobre operações. Sendo assim a resposta correta é a letra e.

Como vimos estudar para concursos não é de todo ruim, pois nos permite conhecer melhor a teoria de diversas matérias para melhorarmos o nosso conhecimento sobre a parte prática. Observe que aqui não usei qualquer linguagem de programação, pois lembre-se sempre que OO não é linguagem, mas conceitos. Ou seja, não é porque está usando Java que está programando em OO.

Obrigado e até a próxima
Fernando Anselmo

0 comentários:

Postar um comentário