Orientação a Objetos: Classe e objeto, propriedades e métodos

O que é orientação a objetos? Qual a diferença entre classe e objeto, e para que serve as propriedades e métodos de uma classe. Veja essas respostas neste artigo.

Home Tecnologia

A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de informação baseado na composição e interação entre diversas unidades de software chamadas de objetos. Seu uso é particularmente útil na tentativa de compreender um problema a fim de propor soluções computacionais na criação de sistemas de informação.

A Orientação a Objetos usa o termo abstração para designar a técnica de análise de um contexto do mundo real para criar representações no desenvolvimento de soluções informatizadas

Para compreendermos esse paradigma, devemos compreender classe e objeto.

Classe

Classe é um conjunto de objetos distintos, porém com as mesmas características e comportamentos. A classe é uma abstração de entidades existentes no mundo real.

Exemplos de classe:

  • pessoa
  • animal
  • automóvel
  • publicação

Desta forma, a primeira coisa que se deve fazer em uma análise orientado a objetos e identificar as entidades que se pretende considerar no sistema e imediatamente transformá-las em classes.

Objeto

Objeto é uma instância ou modelo derivado de uma classe. Portanto objeto é a representação de qualquer coisa, real ou abstrata, do mundo real que irá ser manipulado ou armazenado pelo sistema.

O objeto sempre será uma instância ou um elemento da uma classe. Exemplos:

pessoa -> João

pessoa -> Maria

pesoa -> José

No exemplo acima pessoa é a classe enquanto que João, Maria e José são instâncias desta classe e, portanto objetos. Outros exemplos:

animal -> Totó

animal -> Bilú

automóvel -> Gol

automóvel -> Uno

automóvel -> Fusca

publicação -> Livro

publicação -> Revista

Para entendermos melhor o conceito de classes e objetos é necessário compreender os elementos que compõe uma classe, como o nome, os atributos ou propriedades, métodos ou comportamentos e a visibilidade.

Propriedades

Também chamados de características, forma ou atributo. São características do objeto e identificam o objeto em si. Elas podem mudar com o tempo. As propriedades formam a parte estrutural do objeto.

Exemplo:

Orientação a objetos - Classe e propriedades

Métodos

Também chamados de funções, operações ou comportamentos. São ações realizadas ou sofridas por um objeto. Os métodos formam a parte comportamental do objeto.

Exemplos:

Orientação a objetos - Classe, propriedades e métodos

Visibilidade

A visibilidade é usada para indicar como uma determinada propriedade ou método poderá ser acessado. Há três formas possíveis: Público, protegido ou privado.

  • (+) Public  ou  Público:  Indica que a propriedade ou método, pode ser acessado por qualquer outra classe
  • (#) Protected ou Protegido: Indica que a propriedade ou método, pode ser acessado pela classe e pelas classes derivadas. Classes filhos, por ex.
  • (-) Private ou Privado: Indica que a propriedade ou método, pode ser acessado apenas pela classe.

Exemplos

Veja abaixo um exemplo de um diagrama de classe de um controle de alunos com as seguintes classes, propriedades e métodos:

Diagrama de classes alunos

Algumas observações sobre o diagrama acima:

O nome da classe geralmente vem no singular. Isto é particularmente importante pois você pensa no objeto em si e não no conjunto de objetos. Com isso, a classe é um modelo e como modelo ela é única.

O nome dos métodos é bem parecido para a maioria dos casos por se tratar de um sistema com operações parecidas, mas isto não significa que em todos os casos será assim. Cada classe poderá ter métodos com nomes diferentes.

Apesar disso é importante lembrar que por mais diferente que sejam os nomes, na prática e de alguma forma, são as quatro operações básicas que estarão sendo realizadas, que é o famoso CRUD (Create, Read, Update e Delete).

Na classe aluno temos uma visibilidade ou cardinalidade um tanto estranho? Não. Na verdade isto é possível e indica que a turma deve ser iniciada com 10 alunos e ter no máximo 40 alunos. Claro que em termos práticos e de programação é necessário que o sistema leve isto em conta e possa ter opção de gerenciar isso.

O diagrama acima representa a visão de um projeto específico e não pode ser tomado como modelo único para todos os casos similares. Note, que como diz o jargão “cada caso é um caso” e portanto é perfeitamente possível modificar o diagrama acima, especialmente a cardinalidade, para atender a situações diferentes das que foram previstas durante a análise que gerou este modelo.

É necessário um completo domínio do problema para que um diagrama seja finalizado. Nada impede de versões preliminares imperfeitas, mas a conclusão dele requer que todas as necessidades do novo sistema tenham sido contempladas e assim é possível conclui-lo logicamente.

Orientação a objetos não resolve todos os problemas da mesma forma. Quem já trabalhou com análise estruturada também sabe que ela não atua da mesma forma. Então e novamente, é necessário domínio do problema para assim poder explorar todas as vantagens que a orientação a objetos tem e criar classes consistentes com propriedades e métodos mais precisos.

Gostou? Compartilhe



 

Leia também:



© 2008-2019 | Professor Digital | Política de Privacidade | Em Jesus Cristo eu confio