SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em javaDiogo Winck
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaWanderlei Silva do Carmo
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 

Mais procurados (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
 
Poo (1)
Poo (1)Poo (1)
Poo (1)
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 

Destaque

Aula de contabilidade pública concurso ANS
Aula de contabilidade pública concurso ANSAula de contabilidade pública concurso ANS
Aula de contabilidade pública concurso ANSPaulinha_Ana
 
Crianças com nee
Crianças com neeCrianças com nee
Crianças com neeMekinho20
 
Técnica e Tecnologia -5ºano
Técnica e Tecnologia -5ºanoTécnica e Tecnologia -5ºano
Técnica e Tecnologia -5ºanoAgostinho NSilva
 
Objeto tecnico
Objeto tecnicoObjeto tecnico
Objeto tecnicoPelo Siro
 
Estudo da Letra
Estudo da LetraEstudo da Letra
Estudo da LetraArtes Real
 
Forma e Estrutura
Forma e EstruturaForma e Estrutura
Forma e EstruturaArtes Real
 

Destaque (7)

Aula de contabilidade pública concurso ANS
Aula de contabilidade pública concurso ANSAula de contabilidade pública concurso ANS
Aula de contabilidade pública concurso ANS
 
Crianças com nee
Crianças com neeCrianças com nee
Crianças com nee
 
Técnica e Tecnologia -5ºano
Técnica e Tecnologia -5ºanoTécnica e Tecnologia -5ºano
Técnica e Tecnologia -5ºano
 
Objeto tecnico
Objeto tecnicoObjeto tecnico
Objeto tecnico
 
Funções
FunçõesFunções
Funções
 
Estudo da Letra
Estudo da LetraEstudo da Letra
Estudo da Letra
 
Forma e Estrutura
Forma e EstruturaForma e Estrutura
Forma e Estrutura
 

Semelhante a POO conceitos e implementação em

APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de SoftwareVagner Santana
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programaçãoMahayana2706
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Thiago Dieb
 
Oo presentation básica
Oo presentation básicaOo presentation básica
Oo presentation básicaLorena de Souza
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetosWesley R. Bezerra
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo javaFAFICA
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos phpsecomp2011
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraDextra
 

Semelhante a POO conceitos e implementação em (20)

APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Aula 1 3
Aula 1 3Aula 1 3
Aula 1 3
 
Oo presentation básica
Oo presentation básicaOo presentation básica
Oo presentation básica
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
 
Atividade 3
Atividade 3Atividade 3
Atividade 3
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Aula Herança
Aula HerançaAula Herança
Aula Herança
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Java7
Java7Java7
Java7
 
Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 

Mais de Evandro Júnior

Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolEvandro Júnior
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaEvandro Júnior
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaEvandro Júnior
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Evandro Júnior
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEEvandro Júnior
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPEvandro Júnior
 
Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Evandro Júnior
 
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Evandro Júnior
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Evandro Júnior
 
Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Evandro Júnior
 
Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Evandro Júnior
 
Fundamentos da Informática - Componentes (Atualizado 2014)
Fundamentos da Informática - Componentes  (Atualizado 2014)Fundamentos da Informática - Componentes  (Atualizado 2014)
Fundamentos da Informática - Componentes (Atualizado 2014)Evandro Júnior
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IPEvandro Júnior
 
Cascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesCascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesEvandro Júnior
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageEvandro Júnior
 
Projeto final técnico em informática
Projeto final técnico em informáticaProjeto final técnico em informática
Projeto final técnico em informáticaEvandro Júnior
 

Mais de Evandro Júnior (20)

Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em Portugol
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap Cordova
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - Concorrência
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SE
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHP
 
Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#
 
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014
 
Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014
 
Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014
 
Fundamentos da Informática - Componentes (Atualizado 2014)
Fundamentos da Informática - Componentes  (Atualizado 2014)Fundamentos da Informática - Componentes  (Atualizado 2014)
Fundamentos da Informática - Componentes (Atualizado 2014)
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Cascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesCascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de Switches
 
Cabeamento estruturado
Cabeamento estruturadoCabeamento estruturado
Cabeamento estruturado
 
Endereçamento IP CIDR
Endereçamento IP CIDREndereçamento IP CIDR
Endereçamento IP CIDR
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Aula 1 apresentação
Aula 1   apresentaçãoAula 1   apresentação
Aula 1 apresentação
 
Projeto final técnico em informática
Projeto final técnico em informáticaProjeto final técnico em informática
Projeto final técnico em informática
 

POO conceitos e implementação em