SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Orientação a objetos
no dia a dia do programador
Os 4 pilares da Programação Orientada a Objetos
@EvandroAmparo
Os 4 pilares da Programação Orientada a
Objetos
● Abstração
● Encapsulamento
● Herança
● Polimorfismo
● Projeto de uma loja virtual
Programação Orientada a Objetos
Paradigma de programação baseado em
classes
e objetos
Programação Orientada a Objetos
Classe
Define um conjunto de objetos com características similares.
Define o comportamento e os possíveis estados dos seus
objetos.
Para que serve?
Código de alto nível (abstração)
Programação Orientada a Objetos
Para que serve?
Programar usando termos próprios do domínio
Exemplo: loja virtual
Cliente, Produto, Categoria, Carrinho, Pedido, etc
Programação Orientada a Objetos
Para que serve?
Reutilização de código
Programação Orientada a Objetos
Os 4 pilares da Programação Orientada a
Objetos
Abstração
Representação no código de um objeto do mundo real
Estados (atributos) e comportamentos (métodos)
Os 4 pilares da Programação Orientada a
Objetos
Abstração
Problema → modelo → solução → aplicar solução ao mundo
real
Os 4 pilares da Programação Orientada a
Objetos
Abstração
Fazemos isto desde crianças
R: 5 barquinhos
Os 4 pilares da Programação Orientada a
Objetos
Encapsulamento
Isola partes do código
Facilita a manutenção
Os 4 pilares da Programação Orientada a
Objetos
Herança
Especialização / generalização
Reutilização de código
Os 4 pilares da Programação Orientada a
Objetos
Polimorfismo
Tipos mais abstratos representam tipos mais concretos
O tipo é resolvido em tempo de execução
Hora do código
https://github.com/evandroamparo/poo-loja-virtual

Mais conteúdo relacionado

Semelhante a Orientação a objetos no dia a dia do programador

Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHPFlávio Lisboa
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéRenzo Petri
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Javaalexmacedo
 
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
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Domain-Driven-Design
 Domain-Driven-Design Domain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOWesley Lemos
 
Pattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptPattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptGustavo Corrêa Alves
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Introdução a Orientação a Objetos com PHP
Introdução a Orientação a Objetos com PHPIntrodução a Orientação a Objetos com PHP
Introdução a Orientação a Objetos com PHPLucas de Oliveira
 
Definir classe não é programar com orientação a objetos
Definir classe não é programar com orientação a objetosDefinir classe não é programar com orientação a objetos
Definir classe não é programar com orientação a objetosHélio Costa e Silva
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 

Semelhante a Orientação a objetos no dia a dia do programador (20)

Orientação a Aspectos em PHP
Orientação a Aspectos em PHPOrientação a Aspectos em PHP
Orientação a Aspectos em PHP
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - Caché
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
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
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Domain-Driven-Design
 Domain-Driven-Design Domain-Driven-Design
Domain-Driven-Design
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
Pattners Everywhere, Even in Javascript
Pattners Everywhere, Even in JavascriptPattners Everywhere, Even in Javascript
Pattners Everywhere, Even in Javascript
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Introdução a Orientação a Objetos com PHP
Introdução a Orientação a Objetos com PHPIntrodução a Orientação a Objetos com PHP
Introdução a Orientação a Objetos com PHP
 
Definir classe não é programar com orientação a objetos
Definir classe não é programar com orientação a objetosDefinir classe não é programar com orientação a objetos
Definir classe não é programar com orientação a objetos
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 

Mais de Evandro da Silva Amparo

Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoEvandro da Silva Amparo
 
Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Evandro da Silva Amparo
 
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...Evandro da Silva Amparo
 
A carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareA carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareEvandro da Silva Amparo
 
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Evandro da Silva Amparo
 

Mais de Evandro da Silva Amparo (6)

Como usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu códigoComo usar IA para melhorar a qualidade do seu código
Como usar IA para melhorar a qualidade do seu código
 
Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020Carreiras em tecnologia - Multivix Multitalks 2020
Carreiras em tecnologia - Multivix Multitalks 2020
 
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
CodeAndCoffeeES 2017 - Desenvolvimento desktop e uma perspectiva do mercado d...
 
A carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de softwareA carreira do profissional de desenvolvimento de software
A carreira do profissional de desenvolvimento de software
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
Estratégias de desenvolvimento de aplicativos para dispositivos móveis em vár...
 

Orientação a objetos no dia a dia do programador

  • 1. Orientação a objetos no dia a dia do programador Os 4 pilares da Programação Orientada a Objetos @EvandroAmparo
  • 2. Os 4 pilares da Programação Orientada a Objetos ● Abstração ● Encapsulamento ● Herança ● Polimorfismo ● Projeto de uma loja virtual
  • 3. Programação Orientada a Objetos Paradigma de programação baseado em classes e objetos
  • 4. Programação Orientada a Objetos Classe Define um conjunto de objetos com características similares. Define o comportamento e os possíveis estados dos seus objetos.
  • 5. Para que serve? Código de alto nível (abstração) Programação Orientada a Objetos
  • 6. Para que serve? Programar usando termos próprios do domínio Exemplo: loja virtual Cliente, Produto, Categoria, Carrinho, Pedido, etc Programação Orientada a Objetos
  • 7. Para que serve? Reutilização de código Programação Orientada a Objetos
  • 8. Os 4 pilares da Programação Orientada a Objetos Abstração Representação no código de um objeto do mundo real Estados (atributos) e comportamentos (métodos)
  • 9. Os 4 pilares da Programação Orientada a Objetos Abstração Problema → modelo → solução → aplicar solução ao mundo real
  • 10. Os 4 pilares da Programação Orientada a Objetos Abstração Fazemos isto desde crianças R: 5 barquinhos
  • 11. Os 4 pilares da Programação Orientada a Objetos Encapsulamento Isola partes do código Facilita a manutenção
  • 12. Os 4 pilares da Programação Orientada a Objetos Herança Especialização / generalização Reutilização de código
  • 13. Os 4 pilares da Programação Orientada a Objetos Polimorfismo Tipos mais abstratos representam tipos mais concretos O tipo é resolvido em tempo de execução