SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
INTRODUÇÃO A
ORIENTAÇÃO A OBJETOS
"Qualquer um pode escrever um código que
um computador possa entender. Bons
programadores escrevem códigos que seres
humanos possam entender." - Martin Fowler
UM POUCO DE HISTÓRIA
 Uso de goto.
 Dificuldade de compreensão do fluxo de execução.
 Programação estruturada.
 Funções.
CONCEITOS DE ORIENTAÇÃO A
OBJETOS
 Reflete o mundo real.
 Descreve de maneira mais precisa os dados;
 A decomposição é baseada em um particionamento natural; e
 Mais fácil de entender e manter.
 Dados juntos com comportamento.
 Reutilização de código.
CLASSES E OBJETOS
 Classe:
 Abstração de algo do mundo real;
 Possuem estado e comportamento.
 Objeto:
 Entidade concreta;
 Possui os valores para características da classe;
 Realizam comportamentos.
 Exemplo:
 Gato seria uma classe.
 Garfield e Frajola seriam objetos.
CLASSES E OBJETOS
 Se suas classes não representam
abstrações do sistema e são apenas
repositórios de funções, você na
verdade esta programando segundo o
paradigma estruturado.
MODELO ANÊMICO
 Repetição de código, dificuldade de
manutenção, propagação de bugs, e etc.
 Dividido em 3 camadas diferentes, a
 camada de modelo;
 a camada de regras de negócio; e
 a camada de acesso a dados.
MODELO RICO
 “A introdução de abstrações adequadas é a nossa única ajuda
mental para reduzir o apelo à enumeração, para organizar e
dominar a complexidade.” – Edsger Dijkstra
 Favoreça a imutabilidade e simplicidade.
MODELO RICO
When to make a type – Martin Fowler
O que é o modelo anêmico? E por que fugir dele?
- Maurício Aniche

Mais conteúdo relacionado

Semelhante a Introdução a orientação a objetos - Higor Nucci

Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoJuciellen Cabrera
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2Moises de Paula
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Jose Berardo
 
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
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasNorton Guimarães
 
Apresentação final
Apresentação finalApresentação final
Apresentação finalvalmon
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
paradigmas de programação
paradigmas de programaçãoparadigmas de programação
paradigmas de programaçãoD1ogo
 
[Lógica] Orientação a Objetos descomplicada
[Lógica] Orientação a Objetos descomplicada[Lógica] Orientação a Objetos descomplicada
[Lógica] Orientação a Objetos descomplicadaEduardo Ricoldi
 

Semelhante a Introdução a orientação a objetos - Higor Nucci (20)

Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Resumão java
Resumão javaResumão java
Resumão java
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Introdução a programação em python d2
Introdução a programação em python d2Introdução a programação em python d2
Introdução a programação em python d2
 
Resource Description Framework (RDF)
Resource Description Framework (RDF)Resource Description Framework (RDF)
Resource Description Framework (RDF)
 
Java 02
Java 02Java 02
Java 02
 
Java 02
Java 02Java 02
Java 02
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2
 
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
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
paradigmas de programação
paradigmas de programaçãoparadigmas de programação
paradigmas de programação
 
[Lógica] Orientação a Objetos descomplicada
[Lógica] Orientação a Objetos descomplicada[Lógica] Orientação a Objetos descomplicada
[Lógica] Orientação a Objetos descomplicada
 

Introdução a orientação a objetos - Higor Nucci

  • 1. INTRODUÇÃO A ORIENTAÇÃO A OBJETOS "Qualquer um pode escrever um código que um computador possa entender. Bons programadores escrevem códigos que seres humanos possam entender." - Martin Fowler
  • 2. UM POUCO DE HISTÓRIA  Uso de goto.  Dificuldade de compreensão do fluxo de execução.  Programação estruturada.  Funções.
  • 3. CONCEITOS DE ORIENTAÇÃO A OBJETOS  Reflete o mundo real.  Descreve de maneira mais precisa os dados;  A decomposição é baseada em um particionamento natural; e  Mais fácil de entender e manter.  Dados juntos com comportamento.  Reutilização de código.
  • 4. CLASSES E OBJETOS  Classe:  Abstração de algo do mundo real;  Possuem estado e comportamento.  Objeto:  Entidade concreta;  Possui os valores para características da classe;  Realizam comportamentos.  Exemplo:  Gato seria uma classe.  Garfield e Frajola seriam objetos.
  • 5. CLASSES E OBJETOS  Se suas classes não representam abstrações do sistema e são apenas repositórios de funções, você na verdade esta programando segundo o paradigma estruturado.
  • 6. MODELO ANÊMICO  Repetição de código, dificuldade de manutenção, propagação de bugs, e etc.  Dividido em 3 camadas diferentes, a  camada de modelo;  a camada de regras de negócio; e  a camada de acesso a dados.
  • 7. MODELO RICO  “A introdução de abstrações adequadas é a nossa única ajuda mental para reduzir o apelo à enumeração, para organizar e dominar a complexidade.” – Edsger Dijkstra  Favoreça a imutabilidade e simplicidade.
  • 9. When to make a type – Martin Fowler O que é o modelo anêmico? E por que fugir dele? - Maurício Aniche