Você está na página 1de 28

PROGRAMAO

ORIENTADA A
OBJETOS
POO
Cleyton Ferrari
Link apresentao no YouTube:
cleytonferrari@hotmail.com
http://youtu.be/dtNZi5EV2hs Fone: 69 9975-0504
@cleytonferrari
TISelvagem.com.br
Introduo a POO
Classe e Objeto
Mtodo
Herana
Encapsulamento
Abstrao
Polimorfismo
Interface
Coeso / Acoplamento
INTRODUO
Programao
Orientada a Objetos?
Programao
Orientada a Objetos?

UM PARADIGMA
DE PROGRAMAO
Programao
Orientada a Objetos?

UM ESTILO
DE PROGRAMAO
Programao
Orientada a Objetos?

Lgico Imperativo/Procedural Funcional/Descritiva

Prolog Popler - QLISP Pascal Fortran - Basic ML F# - Haskell

E muito mais... Orientada a Teste, Escalar, Restritiva, Genrica....

EXISTEM
OUTRAS
Programao
Orientada a Objetos?

DIFICULDADES BENEFICIOS
Complexidade no aprendizado Mais fcil descrever o mundo
em comparao com a real atravs dos objetos
programao estruturada O encapsulamento facilita a
Seus conceitos so de difcil manuteno do cdigo
compreenso Maior facilidade para
reutilizao de cdigo
Programao
Orientada a Objetos?
RESUMO
POO um paradigma de programao que usa "objetos"
compostos por campos e mtodos, justamente com suas
interaes - para projetar programas de computadores.
http://en.wikipedia.org/wiki/Object-oriented_programming
POO uma forma especial de programar, mais prximo de
como expressaramos as coisas na vida real do que outros
tipos de programao.
http://www.criarweb.com/artigos/215.php
POO organizar o mundo real como uma coleo de objetos
que incorporam estrutura de dados e um conjunto de
operaes que manipulam estes dados e trocam mensagens
entre si. http://www.macoratti.net/oo_conc2.htm
CLASSE
Uma classe uma estrutura que abstrai um conjunto de
objetos com caractersticas similares. como um projeto, a
partir dela que criamos os objetos utilizados em nossos
programas.
http://en.wikipedia.org/wiki/Object-oriented_programming
Classe:
Atributos

Os Atributos em Programao Orientada a Objetos so os


elementos que definem a estrutura de uma classe, ou seja
suas caractersticas.
http://en.wikipedia.org/wiki/Object-oriented_programming
Classe:
Construtores

Um construtor uma estrutura especial da classe, um


mtodo, que tem como objetivo definir a configurao inicial
de uma classe. utilizado quando existem atributos da classe
que so essenciais para o funcionamento do objeto, porm,
so atributos de instncia, e, assim, variam de acordo com
cada objeto.
http://www.webartz.com.br/php/php-orientado-a-objetos-conceitos-construtores-e-
destrutores
Classe:
Destrutores

Semelhante aos construtores, o destrutor tambm uma


estrutura, outro mtodo, da classe, porm este responsvel
por limpar a memria ou atributos utilizados na execuo da
classe.
http://www.webartz.com.br/php/php-orientado-a-objetos-conceitos-construtores-e-
destrutores
Classe:
Visibilidade
+ Public
Quem tem acesso classe tem acesso tambm a qualquer membro com
visibilidade public, raro ter atributos pblicos, mas comum ter
mtodos pblicos.
http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/oo/visibilidade.htm

- Private
O membro private no acessvel fora da classe, a inteno que apenas
quem escreve a classe possa usar esses membros.
http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/oo/visibilidade.htm

# Protected
O membro protected acessvel classe e a suas subclasses, a inteno
dar acesso aos programadores que estendero sua classe.
http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/oo/visibilidade.htm
Classe:
Objeto
Objetos so instncias de classes. atravs deles que (praticamente) todo
o processamento ocorre em sistemas implementados com linguagens de
programao orientadas a objetos.
Programao orientada a objetos uma abordagem com Java.

No paradigma de orientao a objetos, tudo pode ser potencialmente


representado como um objeto. Sob o ponto de vista da programao
orientada a objetos, um objeto no muito diferente de uma varivel
normal.
Programao orientada a objetos uma abordagem com Java.
MTODO
Um mtodo uma subrotina que executada por um objeto
ao receber uma mensagem. Os mtodos determinam o
comportamento dos objetos de uma classe.
http://en.wikipedia.org/wiki/Object-oriented_programming
Mtodo:
Assinatura
Cada mtodo especificado por uma assinatura, composta
por um identificador para o mtodo (o nome do mtodo), o
tipo para o valor de retorno e sua lista de argumentos, sendo
cada argumento identificado por seu tipo e nome.
Programao orientada a objetos uma abordagem com Java.
[modificador] tipo nome (argumentos)
{
corpo do mtodo
}

Atravs do mecanismo de sobrecarga (overloading), dois


mtodos de uma classe podem ter o mesmo nome, desde
que suas assinaturas de argumentos sejam diferentes.
Programao orientada a objetos uma abordagem com Java.
Mtodo:
Sobrecarga

So mtodos que tem o mesmo nome, mas com


argumentos diferentes.
http://www.devmedia.com.br/post-5124-Orientacao-a-objetos-parte-ll.html

Lista de Argumentos diferentes


Caractersticas

Podem alterar o tipo de retorno

Podem alterar o modificador de acesso

Declarar excees novas ou mais abrangentes


Mtodo:
Mensagens

Um programa orientado a objetos composto por um


conjunto de objetos que interagem atravs de trocas de
mensagens. Na prtica, essa troca de mensagem traduz-se
na aplicao de mtodos a objetos.
Programao orientada a objetos uma abordagem com Java.
Mtodo:
Estticos
Usualmente, mtodos definidos em uma classe so aplicados
a objetos daquela classe. H no entanto situaes nas quais
um mtodo pode fazer uso dos recursos de uma classe para
realizar sua tarefa sem necessariamente estar associado a um
objeto individualmente.
Programao orientada a objetos uma abordagem com Java.
Para lidar com tais situaes, define os mtodos da classe,
cuja declarao deve conter o modificador static. Um mtodo
esttico pode ser aplicado classe e no necessariamente a
um objeto.
Programao orientada a objetos uma abordagem com Java.
HERANA
Herana um mecanismo que permite que caractersticas
comuns a diversas classes sejam fatoradas em uma classe
base, ou superclasse. A partir de uma classe base, outras
classes podem ser especificadas.
Programao orientada a objetos uma abordagem com Java.
Herana:
Sobreposio

A sobreposio refere-se redefinio de mtodos na hierarquia


da herana, de forma que estes mtodos implementam
definies diferentes (mais especializadas) nos subtipos.
http://arquiteturaemobilidade.blogspot.com/2008/07/conceitos-da-orientao-objetos-
com-uml_08.html
ENCAPSULAMENTO

o princpio pelo qual cada componente de um programa


deve agregar toda a informao relevante para sua
manipulao como uma unidade (uma cpsula). Aliado ao
conceito de ocultamento de informao.
ABSTRAO
Abstrao o processo de extrair as caractersticas essenciais de um
objeto real. A abstrao necessria para se ter um modelo fiel da
realidade sobre a qual se possa operar.
http://www.slideshare.net/danielrpgj30/curso-de-programao-orientada-a-objetos

O conjunto de caractersticas resultante da abstrao forma um tipo de


dado abstrato com informaes sobre seu estado e comportamento.
http://www.slideshare.net/danielrpgj30/curso-de-programao-orientada-a-objetos
POLIMORFISMO
O polimorfismo permite que referncias de tipos de classes
mais abstratas representem o comportamento das classes
concretas que referenciam. Assim, um mesmo mtodo pode
apresentar vrias formas, de acordo com o seu contexto.
http://www.slideshare.net/danielrpgj30/curso-de-programao-orientada-a-objetos
INTERFACE
um conjunto de mtodos que um objeto deve suportar, mas
contendo apenas a especificao da funcionalidade que uma
classe deve conter, sem determinar como essa funcionalidade
deve ser implementadas.
Programao orientada a objetos uma abordagem com Java.
COESO / ACOPLAMENTO
Acoplamento o grau que uma classe depende, interage com outra classe.
Coeso refere a finalidade que a classe foi criada.
http://www.devmedia.com.br/post-5124-Orientacao-a-objetos-parte-ll.html

Quanto menos uma classe depende da outra, menor o acoplamento, e maior a


especializao dela, isso significa alta coeso.
http://www.devmedia.com.br/post-5124-Orientacao-a-objetos-parte-ll.html
DEMO

Você também pode gostar