Vous êtes sur la page 1sur 8

A

. .rtigo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Orientao a Objetos
O artigo Orientao a Objetos mostra os principais conceitos ligados a metodologia de orientao a objetos, visando a construo de
aplicativos Delphi ou Visual Basic.

Objetos
Usamos o termo objeto para representar uma determinada entidade do mundo real.
Exemplos de objetos so:

! funes (Vendedor, Cliente, etc);


! eventos;
! interaes;
! lugares.

2001, Advanced Books

! coisas (um CD, uma estante);

O conceito de objetos baseia-se no princpio de abstrao. Atravs


da abstrao, podemos dividir um determinado problema em partes, para estud-las separadamente. Na metodologia orientada, dividiremos o problema em objetos.
importante ressaltar que a metodologia estruturada tambm utilizava o princpio da abstrao, mas sua nfase era na procura dos
processos que envolviam o problema, e no nos objetos que o compunham.
Observe que tivemos o cuidado de colocar o artigo na frente de
cada objeto, pois um objeto representa um elemento apenas, uma
determinada entidade. No entanto, um objeto pode ser uma entidade composta, como uma estante (composta de CD's, prateleiras,
titulo, assunto, ndice, etc). Em geral a maioria dos objetos so
realmente compostos, pois sempre podemos dividi-los em partes
menores at chegarmos a elementos realmente atmicos (indivisveis).
Um sistema seria ento um grande objeto composto de outros objetos, formando um mecanismo.

O Sistema de Gerenciamento de Locadora de CD


Para entendermos melhor os conceitos ligados a orientao a objetos, vamos utilizar como exemplo um sistema de Gerenciamento de
Locadora de CD, cujo objetivo administrar os CD's (msicas e
jogos) de uma locadora fictcia e seus usurios, assim como as movimentaes realizadas pelos usurios (emprstimos e devolues).
No Sistema de Gerenciamento de Locadora de CD, teramos os
seguintes objetos: CD's, usurios e movimentaes.

Atributos ou Propriedades

2001, Advanced Books

Representam as caractersticas do objeto. Por exemplo, o objeto


caneta possui as caractersticas tamanho, cor, tipo de escrita. So
seus atributos.
Os atributos, ou sejam as caractersticas dos objetos, podem ser
fixos ou variveis. O estado de um objeto o valor de determinado
atributo em um dado instante. Por exemplo, uma estante em um
determinado momento pode estar vazia. Logo aps, colocam-se
alguns CD's nela, modificando seu estado para uma estante com
CD's.

Um evento corresponde a um estmulo externo, que pode provocar


a transio de um estado para outro, ou seja, pode modificar as
propriedades de determinado objeto.
No Sistema de Gerenciamento de Locadora de CD, o objeto CD
teria como atributos (ou seja, caractersticas) identificador, editora, ttulo, tipo (se de msica ou de jogo), e presena (se est na
locadora ou no). O objeto usurios teria como atributos
identificador, nome, endereo, e usufruto (se est com uma publicao ou no). O objeto movimentaes teria como atributos data,
identificador do usurio, identificador do CD, e tipo (emprstimo ou devoluo).

Note que os atributos usufruto, do objeto usurio, e presena, do


objeto CD, podem mudar de valor de acordo com um evento. Por
exemplo, se o usurio pegar um CD emprestado, dando origem a
um evento, o atributo usufruto passa para Sim, indicando que o
usurio agora possui um CD emprestado, e o atributo presena passa
para No, indicando que o CD no est mais na locadora. Ou seja,
estes atributos sofrem uma transio, uma mudana de estado devido a um evento.

Servios ou Mtodos
So as funes que operam sobre o objeto. Por exemplo, com o
objeto caneta podemos escrever, desenhar, presentear. So as funes oferecidas pelo objeto caneta.

2001, Advanced Books

Quando um objeto executa um servio (uma funo), dizemos que


ele apresenta um determinado comportamento, ou seja, uma reao. O comportamento do objeto ser resultado da ao efetuada
sobre ele, e da funo que esta ao chamou. Por exemplo, tanto o
rdio quanto a TV possuem um boto para lig-los. Quando apertamos este boto (ou seja, efetuamos uma ao sobre este objeto),
o comportamento apresentado por ambos diferente, j que o servio (funo) chamado por esta ao diferente: ligar o rdio significa emitir som; ligar a TV significa emitir som e imagem.
Um evento, ou seja, um estmulo externo, tambm pode estimular o
objeto a executar determinado servio.
No Sistema de Gerenciamento de Locadora de CD, todos os objetos poderiam ser cadastrados, ou seja, inseridos, alterados, excludos e consultados:

Classes
Uma classe representa um conjunto de objetos que possuem caractersticas e comportamentos comuns.
Como vimos, o mecanismo de classificao um dos mtodos que
facilita a compreenso do sistema como um todo. Cada objeto
classificado em uma determinada classe, de acordo com suas caractersticas e comportamentos.
Chamamos o objeto de instncia de uma determinada classe, o
que significa que ele possui o comportamento e as caractersticas
definidos pela classe para suas instncias. A instanciao o processo contrrio ao de classificao, e consiste em criar um novo
objeto a partir de uma classe.

2001, Advanced Books

A nfase da metodologia de orientao a objetos ser dada na definio de classes, e no de objetos, como se poderia pensar pelo
nome.
No nosso exemplo de Gerenciamento de Locadora de CD, aps
encontrarmos os objetos, criaramos as classes. Cada CD da estante seria classificado como um objeto da classe CD, j que possuiria
os mesmos atributos e servios. Note que o contedo de cada atributo ir variar para cada objeto (cada CD tem uma editora diferente), mas todos possuem os mesmos atributos (todas os CD's possuem uma editora). J um usurio no ir pertencer a classe CD, pois,
apesar de oferecer os mesmos servios, no possui os mesmos atributos (no possui editora, por exemplo).

Todo objeto pertence a apenas uma classe ao longo de sua existncia, no podendo modificar sua classificao.
Varivies de Instncia
Os atributos de uma classe tambm podem ser objetos. Neste caso,
estes atributos so chamados de variveis de instancia.
Por exemplo, a classe CD contm os atributos identificador, editora, ttulo, presena e tipo. Se for do interesse do analista, poderamos transformar o atributo editora em uma classe: a classe Editora, com atributos nome e endereo. Ou seja, a classe CD teria como
atributos identificador, ttulo, presena, tipo e um objeto da classe editora:

Encapsulamento

2001, Advanced Books

Como vimos no captulo anterior, encapsulamos detalhes de sistemas complexos para melhor compreend-los. Na metodologia de
orientao a objetos, encapsulamos atributos e servios dentro das
classes.
O analista oferece ao programador, por exemplo, a classe CD,
mostrando quais os atributos dos objetos desta classe, e quais os
servios oferecidos por esta. Mas o programador no tem acesso a
implementao desses atributos e servios (ou seja, acesso as linhas
de cdigo que os controla). Estes dados esto encapsulados, ou
seja, escondidos do programador.

Relacionamento entre Classes

Como vimos, as classes so criadas aps a obteno dos objetos.


Novas classes podem ser criadas, ao analisarmos o relacionamento
existente entre as classes j encontradas.
Generalizao/Especializao
Especializao quando, dada uma determinada classe ou categoria, criamos uma outra, com novos atributos ou servios que a
tornam mais restrita.

Generalizao a operao inversa, ou seja, a remoo de uma


ou mais caractersticas de determinada classe, de modo a formar
uma classe mais abrangente.
Por exemplo, podemos criar a classe CD de Msica e a classe CD
de Jogo, ao especilizarmos a classe CD. A classe CD de Msica,
por exemplo, teria todos os atributos da classe CD mais o atributo
cantor.

J a classe CD de Jogo teria todos os atributos da classe CD mais o


atributo criador. Assim, a classe CD de Msica e a classe CD de
Jogo seriam especializaes da classe CD:

2001, Advanced Books

Herana o mecanismo pelo qual uma classe obtm as caractersticas de outra classe para expandi-la ou especializa-la de alguma
forma, em um relacionamento de generalizao/especializao.

Quando definimos uma classe podemos defini-la como sendo uma


sub-classe de outra j definida, constituindo assim uma relao de
herana entre elas. A classe da qual estamos herdando caractersticas ser ento chamada de superclasse (ou classe base) da nova
classe. Em nosso exemplo, a classe CD seria a superclasse (ou classe
base) das classes CD de Msica e CD de Jogo.

Atravs do mecanismo de herana simples criamos um nova classe baseada apenas em uma nica super-classe. J na herana
multipla, criamos uma nova classe baseada em duas ou mais superclasses, acrescentando novos atributos ou servios.
Agregao/Decomposio
Agregar significa juntar, colar, grudar. Neste contexto, dizemos que
agregao o ato de agregar duas ou mais classes para formar
uma nova classe.
Decomposio equivale a diviso. Decompor uma classe significa

dividi-la em vrias classes menores e mais simples (refinamentos


sucessivos). o processo oposto agregao.
Como vimos em nosso exemplo, a classe CD possui o atributo Editora. Como fizemos, poderamos transformar o atributo Editora em
uma nova classe. A classe Editora conteria os atributos nome e
endereo. A classe Editora faria parte, ou seja, estaria agregada
classe CD, caracterizando um relacionamento Todo/Parte entre as
classes CD e Editora.

2001, Advanced Books


Em outro exemplo, podemos dizer que as categorias Nome e Endereo agregadas formam a categoria Estudante. J a decomposio
da categoria Estudante resulta nas categorias Nome e Endereo.
Mensagens
Um sistema complexo s funciona atravs da cooperao entre suas
partes. Esta cooperao feita atravs do envio de mensagens.
Transportando esta imagem para o modelo de orientao a objetos,
podemos dizer que um objeto se comunica com outro atravs do
envio de mensagens.
Para entender melhor o conceito de mensagens, vamos supor que
um usurio de nossa locadora queira pegar um CD emprestado.

O primeiro procedimento da atendente da locadora ser verificar se


o usurio j est cadastrado na locadora. Para essa verificao, o
objeto Movimentao enviar uma mensagem para o objeto Usurio: Verificar Usurio.
Ao receber esta mensagem, o objeto Usurio dar incio ao servio
VerificaUsurio(), devolvendo uma resposta (ou seja, tendo um determinado comportamento): o usurio est cadastrado ou no.
Adelize Oliveira diretora da Advanced Books, tendo escrito
mais de 50 livros de informtica, entre eles Orientao a
Objetos com Delphi e Avanando no Visual Basic 6: Orientao a Objetos.

2001, Advanced Books

Vous aimerez peut-être aussi