Anda di halaman 1dari 26

Prof: Ricardo Quinto

email: ricardo.quintao@uva.br
Site: www.rgquintao.com.br

Fundamentos da Programao Orientada a Objetos


A Orientao a Objetos uma tecnologia que enxerga os sistemas como sendo coleo
de Objetos integrantes. Ela permite melhorar a reusabilidade e extensibilidade dos
softwares.
A tecnologia Orientada a Objetos fundamentada no que, coletivamente, chamamos de
modelo de objetos, que engloba os princpios da abstrao, hierarquizao,
encapsulamento, classificao, modularizao, relacionamento, simultaneidade e
persistncia.

Fundamentos da Programao Orientada a Objetos


A proposta da Orientao a Objetos representar o mais fielmente possvel as situaes
do mundo real nos sistemas computacionais.
Ns entendemos o mundo como um todo composto por vrios objetos que interagem
uns com os outros.
Da mesma maneira, a Orientao a Objetos consiste em considerar os sistemas
computacionais no como uma coleo estruturada de processos, mas sim como uma
coleo de objetos que interagem entre si.

Os programas Orientados a Objetos so programas estruturados em mdulos que


agrupam um estado e operaes sobre este estado.
Apresentam nfase em reutilizao de cdigo.

Fundamentos da Programao Orientada a Objetos


Um dos grandes diferenciais da programao Orientada a Objetos em relao a outros
paradigmas de programao que tambm permitem a definio de estruturas e
operaes sobre essas estruturas, est no conceito de herana, mecanismo atravs do
qual definies existentes podem ser facilmente estendidas.
Juntamente com a herana deve ser enfatizada a importncia do polimorfismo, que
permite selecionar funcionalidades que um programa ir utilizar de forma dinmica,
durante sua execuo.

Principais Conceitos
Objetos

Objetos

Usamos o termo objeto para representar um determinado elemento do mundo real. Mas
somente analisaremos os objetos que tem relevncia para a soluo de um determinado
problema. Portanto, o objeto uma entidade do mundo real que merece representao
para o ambiente estudado.
Objetos so instncias de classes, que determinam qual informao um objeto contm e
como ele pode manipul-la.
uma entidade capaz de reter um estado (informao) e que oferece uma srie de
operaes (comportamento) ou para examinar ou para afetar este estado.
atravs deles que praticamente todo o processamento ocorre em sistemas
implementados com linguagens de programao orientadas a objetos.

Principais Conceitos
Objetos
Por exemplo, vamos considerar um cachorro como nosso objeto de estudo:
Analisando este objeto, o cachorro, podemos deduzir que
o mesmo possui algumas caractersticas que pertencem
apenas a ele prprio. Por exemplo, um cachorro possui:

Nome;
Idade;
Comprimento dos Plos;
Cor dos Plos;

Cor dos Olhos;


Peso;
etc...

As caractersticas que descrevem um objeto so chamadas de Atributos.

Principais Conceitos
Objetos
Alm do conjunto de caractersticas que descrevem o cachorro, podemos tambm
identificar um conjunto de aes que ele capaz de executar:

Latir;
Babar;
Correr em Crculos;
Pegar uma Bola;

Sentar;
Comer;
Dormir;
etc...

As aes que um objeto pode executar so chamadas de Mtodos ou Servios.

Principais Conceitos
Objetos
A nica maneira de interagir com os objetos atravs dos mtodos que ele disponibiliza.
Para interagir com o cachorro, utilizamos os mtodos que relacionamos acima: para
aliment-lo, utilizamos o mtodo comer, para brincar com ele, utilizamos o mtodo
pegar a bola, etc.

Chamamos de interface ao conjunto de mtodos disponveis em um objeto.

Principais Conceitos
Atributos e Mtodos
Vimos ento que os objetos so compostos de atributos e mtodos, mas afinal, o que so
atributos e o que so mtodos?

Atributos

Os objetos do mundo real possuem propriedades que possuem valores. Estes valores
definem o estado do objeto. As propriedades recebem o nome de atributos em Orientao
Objetos.
Podemos dizer que os atributos dos objetos so variveis ou campos que armazenam
os diferentes valores que as caractersticas dos objetos podem conter.
O estado de um objeto o conjunto de valores de seus atributos em um determinado
instante.
O comportamento de um objeto como ele age e reage em termos de suas mudanas de
estado e troca de mensagens com outros objetos.

Principais Conceitos
Atributos e Mtodos
O cachorro do nosso exemplo poderia ser representado pelos seguintes atributos:
Cachorro
Nome:

Pluto

Idade:

2 anos

Comprimento dos Plos:

Curtos

Cor dos Plos:

Marrom

Cor dos Olhos:

Pretos

Peso:

5 Kg

Principais Conceitos
Atributos e Mtodos
Um outro objeto cachorro apresentaria valores diferentes para os mesmos atributos, por
exemplo:
Cachorro
Nome:

Fifi

Idade:

3 anos

Comprimento dos Plos:

Longos

Cor dos Plos:

Caramelo

Cor dos Olhos:

Castanhos

Peso:

2 Kg

Os atributos de um objeto somente mudam de valor atravs de estmulos externos ou


internos. A nica forma de modificar os atributos dos objetos disparando eventos que
provocam a transio desses estados no objeto.

Principais Conceitos
Atributos e Mtodos

Mtodos

Os mtodos so procedimentos ou funes que realizam as aes prprias do objeto.


Assim, os mtodos so as aes que o objeto pode realizar. Tudo que o objeto faz realizado
atravs de seus mtodos, pois atravs dos seus mtodos que um objeto se manifesta, e atravs
deles que o objeto interage com os outros objetos.
Um objeto exibe algum comportamento (executa uma operao) quando recebe um estmulo de
outro objeto.
Um objeto requisita a ao de algum outro objeto, enviando uma mensagem para ele.
Esta mensagem uma solicitao a um objeto para que seja executada as rotinas que chamamos
de Mtodo da Classe.
Os mtodos so responsveis por acessar ou alterar os atributos de um objeto.

Imaginando os mtodos do nosso objeto de estudo, o cachorro, enumeramos mtodos (aes)


como latir, babar, comer, sentar, etc.

Principais Conceitos
Classes

Classes

Uma classe representa um conjunto de objetos que possuem caractersticas e


comportamentos comuns e de agora em diante, diremos que um objeto uma instncia de
uma determinada classe, ou seja, criaremos nossos objetos baseados nas caractersticas
definidas nas classes.
A nfase da metodologia Orientada a Objetos dada na criao das classes, e no dos
objetos, como se poderia pensar pelo nome.
Olhando os dois ces do exemplo anterior, vemos que os dois possuem exatamente o
mesmo conjunto de atributos. Isso acontece porque se trata de dois objetos da mesma
classe, ou categoria.
Isso significa que os dois possuem exatamente o mesmo conjunto de atributos e mtodos,
embora cada objeto possa ter valores diferentes para os seus atributos.

Principais Conceitos
Classes

Classe Ces
Objetos de mesma classe possuem a mesma definio, tanto para mtodos, quanto para
atributos.

Principais Conceitos
Classes
Tomemos uma classe gatos formada de objetos gato. Estes objetos possuem as seguintes
caractersticas: nome, idade, peso, cor de plos, cor de olhos e comprimento de plos. Alm
disso, o objeto possui as seguintes aes: miar, comer, dormir, subir na rvore.

Classe Gatos

Principais Conceitos
Classes
Muitos objetos do mundo real possuem caractersticas comuns e podem ser agrupados de
acordo com elas.
Uma classe representa um gabarito para muitos objetos e descreve como estes objetos esto
estruturados internamente.
As classes Ces e Gatos possuem caractersticas e mtodos comuns, por exemplo:
Caractersticas comuns (nome, idade, peso, cor de plos, cor de olhos e comprimento de
plos), Mtodos comuns (pegar a bola, comer, dormir).

Surge ento o conceito de subclasse e superclasse. Podemos ter uma superclasse de


Mamferos:

Principais Conceitos
Classes

SubClasse Gatos

SubClasse Roedores

SubClasse Ces
SuperClasse Mamferos

SubClasse Equinos

Principais Conceitos
Classes
Dentro da superclasse Mamferos temos pelo menos 4 subclasses.
Podemos dizer que elas apresentam as seguintes caractersticas em comum: nome, idade,
peso, cor dos olhos e cor dos plos.

Alm disso, estas subclasses possuem os seguintes mtodos em comum: comer, sentar e
dormir.
Observando a figura anterior, podemos distinguir quatro categorias diferentes de animais:
ces, gatos, equinos e roedores.
Verificamos que existem seis objetos na superclasse Mamferos, sendo distribudos em
quatro subclasses (Ces, Gatos, Roedores e Equinos).

Principais Conceitos
Classes
Essa a diferena entre classe e objeto: a classe um modelo e todos os objetos daquela
classe possuem mtodos e atributos comuns, mas esses atributos possuem valores distintos.
Utilizando a hierarquia de classe, podemos omitir da declarao de um objeto ou de uma
classe inferior tudo aquilo que j foi definido na(s) classe(s) superiores.

Principais Conceitos
Classes
S sero definidos no objeto os atributos e mtodos particulares desse objeto que no so
atribudos aos outros objetos da mesma classe.
Chamamos de ancestrais as classes das quais as outras dependem e de descendentes as
classes originadas a partir de outra.
No exemplo a seguir, a classe mamferos tem um ancestral (animais) e dois descendentes
(ces e gatos).
Em cada descendente s preciso descrever os atributos e mtodos que apresentam
alterao em relao descrio do ancestral.

Principais Conceitos
Classes
Animais

Aves

Mamferos

Nome
Idade
Cor dos Olhos
Peso

Atributos

Comer
Dormir

Mtodos

Cor dos Pelos


Comprimento dos Pelos
Sentar
Amamentar

Cor das Penas


Tamanho das Penas

Rpteis
Tipo de Escamas
Comprimento da Calda

Botar Ovos

Rastejar

Latir
Pegar Bola

Ces

Gatos

Miar
Subir na rvore

Principais Conceitos
Classes
As classes so definies de como os objetos devem ser, e no existem na realidade.
Somente os objetos tm existncia.
Usando o exemplo dos animais, quando vamos mostrar nosso cachorro a algum, no
dizemos esse um co, e sim esse o Pluto, ou Fifi.
O que se pode ver no uma classe de seres, mas um cachorro especfico, um objeto.
Classe Ces

Objetos

Atributos
Nome
....

Pluto

Mtodos
Comer
....

Fifi

Principais Conceitos
Instanciao

Instanciao

A instanciao quando a classe produz um objeto, como se ela fosse uma espcie de modelo ou
gabarito para a criao de objetos.
Conforme a teoria da Orientao a Objetos, dizemos que um objeto , nada mais nada menos, que
a instncia de uma classe.

Pelo exemplo que estamos estudando, cada cachorro que for armazenado um novo objeto, uma
nova instncia da classe Ces.
A classe serve de modelo para a criao de novos objetos.

Ces

Pluto
Fifi

Rex

Tot
Snoopy

Principais Conceitos
Classes Puras ou Abstratas

Classes Puras ou Abstratas

Classes puras so classes das quais os objetos nunca so instanciados diretamente, mas sempre
por uma classe descendente dela.
Essas classes so criadas para facilitar o processo de estruturao.
Um exemplo clssico criar uma classe Pessoa, que contm os atributos (nome, endereo,
telefone, etc.) e mtodos (alterao de endereo, imprimir ficha, etc.) necessrios para manusear
dados de pessoas em um sistema de informao.

A partir dessa classe genrica, criam-se classes descendentes especficas para manusear vendedor,
gerente, etc.

Principais Conceitos
Classes Puras ou Abstratas
Pessoa

Vendedor

Gerente

A classe Pessoa nunca ter um objeto a ela instanciado, ela s existe para unificar todos os
atributos e mtodos comuns s classes Gerente e Vendedor, evitando assim a redundncia.
Pelo exemplo acima, Pessoa uma classe pura ou abstrata.
Existem notaes que sugerem que uma classe pura seja chamada tambm de classe-&classe e as classes que podem ser instanciadas de classe-&-objeto.

Prof: Ricardo Quinto


email: ricardo.quintao@uva.br
Site: www.rgquintao.com.br