Sei sulla pagina 1di 18

Fundamentos da Orientao a

Objetos

Por que orientao a objetos ?

Com o aumento constante na complexidade dos sistemas,


a programao estruturada tornou-se um processo
ineficiente de desenvolvimento de software.
Dentro desse contexto, surgiu na dcada de 70, a
programao orientada a objetos, que aproveitou as
melhores caractersticas da programao estruturada e
combinou-as com novos conceitos que vieram a facilitar a
vida dos programadores.
Dessa forma, a programao orientada a objetos
possibilitou a construo de sistemas mais complexos sem
um correspondente aumento na complexidade da
programao.
Princpio Bsico :

O mundo constitudo de objetos que interagem entre si, cada um


possuindo suas respectivas caractersticas e comportamentos
particulares.
1

Fundamentos da Orientao a
Objetos
Programao
estruturada

Programao orientada
a objetos
Ob1

Ob2
Ob3

Ob4
Ob6

Ob5

Sistema visto como um todo


unificado

Sistema visto como um


conjunto de partes interativas
2

Fundamentos da Orientao a
Objetos

Conceitos bsicos

Classe

Objeto

Identidade
Estado
Comportamento

Mensagens
Encapsulamento

Atributo
Mtodo

Interface pblica
Estrutura interna

Herana
Polimorfismo
Sobreposio de mtodos (overriding)
3

Fundamentos da Orientao a
Objetos

Classe

Modelo para um conjunto de objetos que possuem a


mesma estrutura e comportamento (representa os
objetos).
Uma classe no contm vrios objetos, mas a partir
dela possvel gerar infinitos objetos com a mesma
estrutura e comportamento.
como se a classe fosse um molde e a partir dela
fosse possvel gerar uma quantidade infinita de
objetos.
Dois objetos gerados a partir da mesma classe tero
a mesma estrutura e comportamento, mas os dados
armazenados na sua estrutura podero ser
4

Fundamentos da Orientao a
Objetos

Classe

Atributo

As caractersticas de um objeto so representadas pelos


atributos definidos na classe.
Por exemplo, dentro da classe Homem so definidos os
atributos nome, estado civil, naturalidade, nmero do RG e
nmero do CPF. Cada objeto que for gerado a partir da classe
Homem possuir tais atributos.

Mtodo

O conjunto de mtodos de uma classe representam o


comportamento do objeto.
Um mtodo pode ser percebido como uma funo que executa
uma determinada ao.
Por exemplo, a classe Homem pode possuir os mtodos comer,
dormir, sonhar, andar, parar, correr, etc... A classe Televiso
pode possuir os mtodos ligar, desligar, trocar canal,
aumentar volume, etc...
5

Fundamentos da Orientao a
Objetos

Objeto

Representao de um elemento individual do mundo


real que pertence a uma determinada classe de
objetos.
Por exemplo, podemos dizer que o carro Palio de
placa JPB-1111 e chassi BXW245792345 um objeto
da classe Carro.
Quando geramos um objeto a partir de uma classe,
ns dizemos que instanciamos um novo objeto de
uma classe.
Por isso, objetos tambm so chamados de
instncias de uma classe.
Um objeto ou instncia um exemplar especfico
de
6

Fundamentos da Orientao a
Objetos

Objeto

Identidade

Cada objeto possui uma identidade, ou seja, ele pode ser


identificado univocamente dos demais objetos.
Este identificador independente dos valores dos atributos
dos objetos. Isto significa que os objetos podem ser
distinguidos entre si sem a necessidade de comparar seus
valores e seu comportamento. A identidade dos objetos
gerada pelo sistema e no pode ser influenciada pelo usurio.

Estado

O estado representa o conjunto de caractersticas que o


objeto possui em um determinado momento.
Quando criamos um novo objeto, o seu estado representado
pelo conjunto de valores armazenados nos atributos da
classe.
Como os valores dos atributos podem ser alterados, um
objetos pode assumir diferentes estados durante a sua
7
existncia.

Fundamentos da Orientao a
Objetos

Objeto

Comportamento

Os mtodos que so definidos dentro da classe


representam o comportamento dos objetos que sero
gerados a partir da classe.
Todo objeto que gerado a partir de uma classe se
comporta exatamente da forma como foi definido
dentro da classe, ou seja, objetos gerados a partir da
mesma classe possuem comportamentos idnticos.
Por exemplo, os objetos Marcelo e Joo, da classe
Homem, possuem comportamentos idnticos (comer,
dormir, sonhar, correr, etc...).
8

Fundamentos da Orientao a
Objetos

Mensagens

Os objetos interagem entre si atravs das


mensagens.
Quando um objeto precisa se comunicar com outro,
ele envia uma mensagem solicitando uma ao do
Comece a andar
outro objeto.
Me alimente
Coloque gasolina

Ligue o motor
9

Fundamentos da Orientao a
Objetos

Encapsulamento

a capacidade da classe de esconder do mundo


externo parte de seu cdigo (atributos e mtodos).
Existem dois motivos para deixarmos alguns
membros da classe inacessveis :

Para evitar o acesso indiscriminado a determinados


atributos e mtodos da classe.
Para esconder do mundo externo detalhes das classes
que so relevantes apenas para a prpria classe.

Ou seja, o encapsulamento , ao mesmo tempo, um


mecanismo de proteo e abstrao.
O
encapsulamento
proporciona
uma
grande
vantagem : Os membros privados da classe podero
ser alterados sem causar nenhum impacto ao mundo
externo, uma vez que eles s so acessados pela
prpria classe.
10

Fundamentos da Orientao a
Objetos

Encapsulamento

Pelo conceito de encapsulamento, uma classe


composta pelas seguintes partes :

Interface Pblica

Parte da classe que pode ser acessada pelo cdigo


externo classe.
atravs da interface pblica que os objetos se
comunicam.

Estrutura Interna

Parte protegida da classe, que s pode ser acessada pela


prpria classe.
Representa a caixa preta da classe, ou seja, os detalhes
de implementao que no so de interesse do mundo
externo classe.
11

Fundamentos da Orientao a
Objetos

Herana

Ocorre quando uma classe reutiliza os atributos e


mtodos de outra classe.
Possibilita a criao de um relacionamento
hierrquico entre as classes.
Aumenta a produtividade no desenvolvimento de
software, pois permite a reutilizao de cdigo.
Quando uma classe reutiliza o cdigo de outra
classe, dizemos que a classe herda o cdigo de
outra classe.
A classe que herda denominada de subclasse e a
classe herdada denominada de superclasse.
Quando uma classe herdeira direta de mais de
uma classe, ns temos a herana mltipla.
12

Fundamentos da Orientao a
Objetos

Exemplo de Herana

Animal

Mamfero

Canino

Domstico

Poodle

Labrador

Rptil

Anfbio

Felino

Selvagem

PitBull

Animal

13

Fundamentos da Orientao a
Objetos

Herana Mltipla:

Quando uma classe herda as caractersticas de mais de uma


classe.
Algumas linguagens de programao no tm suporte para
Herana Mltipla.
A linguagem Java no adota o conceito. A implementao
feita atravs do uso de interfaces.

Avio

Barco

Hidroavio
14

Fundamentos da Orientao a
Objetos

Sobreposio de mtodos (overriding)

Quando uma subclasse modifica o comportamento


herdado da superclasse.
A subclasse consegue modificar o comportamento
atravs da sobreposio de um ou mais mtodos
herdados da superclasse.
Homem

Cego

Ler (Utilizar o sentido da viso para


interpretar os cdigos escritos em algum
livro)

Ler (Utilizar o sentido do tato para


interpretar o cdigo braile escrito em algum
livro)
15

Fundamentos da Orientao a
Objetos

Polimorfismo

Capacidade
de
duas
ou
mais
subclasses
responderem mesma mensagem de forma
diferente.
Ocorre quando duas ou mais subclasses possuem o
mesmo mtodos com comportamentos distintos.
Profissional

Jogador
Trabalhar
Jogar futebol

Advogado
Trabalhar
Promover a
justia

Mtodo : Trabalhar

Mdico
Trabalhar
Salvar vidas
16

Fundamentos da Orientao a
Objetos

Relao entre Herana,


Sobreposio de mtodos e
Polimorfismo.

Herana

Sobreposio
de
Mtodos

Polimorfismo

17

FIM

18

Potrebbero piacerti anche