PROGRAMAÇÃO ORIENTADA
A OBJETO
(Paradigmas e Implementação)
www.evandrojunior.pro.br
evandrojunior21@gmail.com
pt.slideshare.net/EvandroJunior
“OO é um modelo
computacional, não um
paradigma”
_Alan Kay
É um modelo
Computacional!
Que contém
paradigmas!
Paradigma
Modelo imperativo da
realidade;
Padrão que permite
organizar as idéias.
QUAIS SÃO OS
PARADIGMAS DA POO?
PARADIGMAS ESSENCIAIS:
Classes e Objetos
Atributos e Métodos
Herança e Polimorfismo
Encapsulamento
Vamos com
calma!
Como era antes da POO?
Programação Estruturada
Programação Orientada a Objeto
x
Programação Estruturada
Programação Estruturada
Consiste na criação de um conjunto de
procedimentos (algoritmos) para resolver o
problema.
Programação Estruturada
A programação estruturada é formada apenas por três estruturas,
que são:
Sequência, onde uma tarefa é executada logo após a outra;
Decisão quando um teste lógico é executado ou não; e
Iteração que a partir do teste lógico algum trecho do código
pode ser repetido finitas vezes.
Programação Estruturada
Seus códigos ficam em um mesmo bloco, sendo mais difícil e
demorado fazer uma alteração, pois teremos que olhar se nenhum
outro código depende daquele, fazendo uma análise mais
detalhada.
É fácil de entender, sendo usada em cursos
introdutórios a programação.
P. Estruturada
DADOS
GLOBAIS
Procedimento
Procedimento
Procedimento
Dados e Objetos
Método
Método
Dados e Objetos
Método
Método
Voltando a POO
CLASSES
Representa um conjunto de objetos com
características afins. Uma classe define o
comportamento dos objetos através de seus
métodos, e quais estados ele é capaz de manter
através de seus atributos.
Exemplo de classe: Os seres humanos
Exemplo de Classe
OBJETO
Um objeto é capaz de armazenar estados através de
seus atributos e reagir a mensagens enviadas a ele.
Exemplo de objetos da classe Humanos: João, José, Maria
Exemplo de Objeto
ATRIBUTOS
São características de um objeto.
Exemplos:
Funcionário: nome, endereço, telefone, CPF,...;
Carro: nome, marca, ano, cor, …;
Livro: autor, editora, ano.
O conjunto de valores dos atributos de um
determinado objeto é chamado de estado.
MÉTODOS
Definem as habilidades dos objetos.
Exemplo:
Bidu é uma instância da classe Cachorro, portanto tem
habilidade para latir, implementada através do método de um
latido.
HERANÇA
É o mecanismo pelo qual uma classe (subclasse) pode
estender outra classe (superclasse), aproveitando seus
comportamentos (métodos) e variáveis possíveis (atributos).
Um exemplo de herança:
Mamífero é superclasse de Humano. Ou seja, um Humano é um
mamífero. Há herança múltipla quando uma subclasse possui mais de
uma superclasse.
Exemplo de Herança
Funcionário
Nome
RG
Salario
Aumento(valor)
Pagamento()
Chefe
Contas
Gastos_extra
Adicional_chefia
Pagamento_extra()
POLIMORFISMO
Polimorfismo = várias formas
É o princípio pelo qual duas ou mais classes derivadas
de uma mesma superclasse podem invocar métodos
que têm a mesma identificação (assinatura) mas
comportamentos distintos.
Exemplo de Polimorfismo
Animal
Tipo
Cor
Peso
...
Comer()
Cachorro
Comer() {
“cachorro come ração...”
}
Tigre
Comer() {
“cachorro come osso...”
}
ENCAPSULAMENTO
Consiste na separação de aspectos internos e externos de um
objeto. Este mecanismo é utilizado amplamente para impedir o
acesso direto ao estado de um objeto (seus atributos),
disponibilizando externamente apenas os métodos que alteram
estes estados.
Exemplo:
você não precisa conhecer os detalhes dos circuitos de um telefone para
utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você
uma interface mais amigável.
Exemplo de Encapsulamento
Implementação:
Programação
Orientada e Objeto
Exemplo Programação
Estruturada
Exemplo Programação
Orientada a Objetos
Implementação:
Programação Orientada a Objeto em
PHP
Um objeto da classe deve ser instanciado pelo operador new.
O operador permite referenciarmos atributos e métodos do objeto.
Lesson: Object-Oriented Programming Concepts (em inglês) Oracle Corporation.
Pablo Dall'Oglio. PHP Programando com Orientação a Objetos: Inclui Design Patterns. 1.
ed. São Paulo: Novatec, 2007. 576 pp.
James Martin, Princípios de Análise e Projeto Baseado em Objetos, 1994, Editora
Campus.
FABRICA DE SOFTWARE. Disponível em:
<http://fabrica.ms.senac.br/2013/04/programacao-estruturada-versus-programacao-
orientada-a-objetos/> Acesso em: 15 Dez. 2014.
www.evandrojunior.pro.br
evandrojunior21@gmail.com
pt.slideshare.net/EvandroJunior

Programação Orientada á Objeto - Paradigmas e Implementação