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 que mostra como vários exemplos a construção de um diagrama de classes.
Índice deste artigo
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:
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:
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:
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.
Veja também
- 10 itens sobre erros de português: língua difícil, erros comuns e mais
- Como fazer curso de Inglês e Espanhol gratuito?
- Curso técnico em Informática e para Internet: Senac, Senai, IF e outros
- O que é Curso Técnico em Nutrição e Dietética. Quais escolas oferecem?
- É mais frio nas baixadas ou nas partes mais altas das cidades?
- Qual a importância da inclusão digital para as pessoas e a sociedade?
- Influência da internet na vida dos jovens e adolescentes
- Cidades do Nordeste brasileiro que diminuíram a população
- Quais sites de imagens gratuitas, fotos e ilustrações free?
- Casa container: Vantagens e desvantagens de morar em container?