SlideShare uma empresa Scribd logo
1 de 12
Programação
Orientada a Objetos
    Prof. Orlando Jr.
Estudos de Hoje
• Compreender o paradigma da orientação a
  objetos:
  – Conhecer os problemas da programação
    estruturada e o surgimento da POO
  – Estudar os principais conceitos relacionados à
    POO
  – Conhecer as estruturas básicas de programação
    relacionadas ao paradigma dentro da linguagem
    Java
Programação Estruturada
• Consiste na utilização de estruturas básicas de
  programação
   – Estruturas de controle de seleção, repetição, etc.

• Linguagens de programação mais antigas foram
  construídas em cima do paradigma da PE
   – Pascal, Delphi, Visual Basic, etc.

• Permite construir com facilidade a lógica dos
  programas

• Foca-se na lógica e não nos dados
Programação Orientada a Objetos
• A POO foca-se nos dados, aproximando o conceito que
  temos do mundo real para a programação

• Usa objetos para ocultar informações que não devem ser
  vistas ou são desnecessárias a outros objetos

• As linguagens mais recentes foram fundamentadas no
  paradigma OO
   – Java, .NET (C# e VB .NET), Ruby, etc.

• A maior vantagem da POO é o reuso de código
  (flexibilidade e manutenção)
Principais Conceitos POO
• A POO é baseada em 3 conceitos principais:
  – Encapsulamento
  – Herança
  – Polimorfismo

• Os três conceitos são suportados pelas
  linguagens de programação e são facilmente
  implementáveis

• Porém, existe um conceito que rege esses 3
  conceitos: abstração
Abstração
• É a habilidade de raciocinar OO

• A abstração não é um conceito implementável, pois
  depende do problema abordado e da visão do
  programador para resolver esse problema

• O programação deve utilizar a abstração para se concentrar
  nos principais aspectos que irão formar o objeto ou o
  método

• A função da abstração é dar suporte ao reuso de elementos
  de software
Encapsulamento
• Visa esconder detalhes da programação e só fornecer o
  que for realmente relevante

• A comunicação entre os objetos deve ocorrer através de
  métodos

• Isso dá mais flexibilidade ao programa, permitindo que
  modificações futuras possam ser realizadas mais facilmente

• O encapsulamento colabora para a reutilização de código
Encapsulamento
Herança
• Outro conceito é a herança, ou seja, receber algo que
  alguém está transmitindo a você

• A herança possibilita a criação de novas classes a partir de
  classes já existentes

• A classe-base é a classe que suportará todas as classes
  derivadas dela, fornecendo atributos, métodos e outros
  objetos.

• A herança é uma funcionalidade que permite que novas
  classes sejam criadas a partir de uma classe já
  existente, dando suporte ao reuso de código já programado
Herança
Polimorfismo
• O polimorfismo está relacionado à herança.
   – Não existe polimorfismo se não houver herança.
   – Os conceitos estão intimamente relacionados.

• Polimorfismo significa “muitas formas”, ou seja, é uma
  propriedade que permite que os objetos tenham muitas
  formas ao longo do programa.

• O polimorfismo pode ser utilizando tanto para métodos
  como para classes
   – Os métodos podem ser reescritos a partir da classe-base
   – As classes podem mudar sua forma também a partir da classe-
     base
Polimorfismo

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
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)
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 

Semelhante a Programação Orientada a Objetos

Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
emcp11
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
oliveiraprog
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 

Semelhante a Programação Orientada a Objetos (20)

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
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basics
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Potfólio de Evidências
Potfólio de EvidênciasPotfólio de Evidências
Potfólio de Evidências
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Seminário
SeminárioSeminário
Seminário
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 

Mais de Orlando Junior

Mais de Orlando Junior (20)

Árvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos BásicosÁrvores - Introdução e Conceitos Básicos
Árvores - Introdução e Conceitos Básicos
 
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
Um estudo sobre práticas arquiteturais em metodologias ágeis de desenvolvimen...
 
Predição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve BayesPredição de Links em Redes Complexas usando o Classificador Naïve Bayes
Predição de Links em Redes Complexas usando o Classificador Naïve Bayes
 
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
Predição de Fluxos em Redes de Computadores - SBRC/WP2P+ 2014
 
Investigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de ComputadoresInvestigação de Predição de Fluxos em Redes de Computadores
Investigação de Predição de Fluxos em Redes de Computadores
 
Predição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de ComputadoresPredição de Fluxos em Redes de Computadores
Predição de Fluxos em Redes de Computadores
 
Normalização em banco de dados
Normalização em banco de dadosNormalização em banco de dados
Normalização em banco de dados
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de Requisitos
 
O que é direito
O que é direitoO que é direito
O que é direito
 
Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NP
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
A Missa para não-católicos
A Missa para não-católicosA Missa para não-católicos
A Missa para não-católicos
 
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
Aprendizado de Máquina Supervisionado na Predição de Links em Redes Complexas...
 
Sacramento da Penitência - Estrutura
Sacramento da Penitência - EstruturaSacramento da Penitência - Estrutura
Sacramento da Penitência - Estrutura
 
Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de Dados
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NET
 
10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados Relacionados10 Mandamentos e Pecados Relacionados
10 Mandamentos e Pecados Relacionados
 
Catequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - SímbolosCatequese da Missa Tridentina - Símbolos
Catequese da Missa Tridentina - Símbolos
 
Verbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminaresVerbos da Língua Inglesa - Observações preliminares
Verbos da Língua Inglesa - Observações preliminares
 
Mineração em Fluxos Contínuos de Dados
Mineração em Fluxos Contínuos de DadosMineração em Fluxos Contínuos de Dados
Mineração em Fluxos Contínuos de Dados
 

Programação Orientada a Objetos

  • 2. Estudos de Hoje • Compreender o paradigma da orientação a objetos: – Conhecer os problemas da programação estruturada e o surgimento da POO – Estudar os principais conceitos relacionados à POO – Conhecer as estruturas básicas de programação relacionadas ao paradigma dentro da linguagem Java
  • 3. Programação Estruturada • Consiste na utilização de estruturas básicas de programação – Estruturas de controle de seleção, repetição, etc. • Linguagens de programação mais antigas foram construídas em cima do paradigma da PE – Pascal, Delphi, Visual Basic, etc. • Permite construir com facilidade a lógica dos programas • Foca-se na lógica e não nos dados
  • 4. Programação Orientada a Objetos • A POO foca-se nos dados, aproximando o conceito que temos do mundo real para a programação • Usa objetos para ocultar informações que não devem ser vistas ou são desnecessárias a outros objetos • As linguagens mais recentes foram fundamentadas no paradigma OO – Java, .NET (C# e VB .NET), Ruby, etc. • A maior vantagem da POO é o reuso de código (flexibilidade e manutenção)
  • 5. Principais Conceitos POO • A POO é baseada em 3 conceitos principais: – Encapsulamento – Herança – Polimorfismo • Os três conceitos são suportados pelas linguagens de programação e são facilmente implementáveis • Porém, existe um conceito que rege esses 3 conceitos: abstração
  • 6. Abstração • É a habilidade de raciocinar OO • A abstração não é um conceito implementável, pois depende do problema abordado e da visão do programador para resolver esse problema • O programação deve utilizar a abstração para se concentrar nos principais aspectos que irão formar o objeto ou o método • A função da abstração é dar suporte ao reuso de elementos de software
  • 7. Encapsulamento • Visa esconder detalhes da programação e só fornecer o que for realmente relevante • A comunicação entre os objetos deve ocorrer através de métodos • Isso dá mais flexibilidade ao programa, permitindo que modificações futuras possam ser realizadas mais facilmente • O encapsulamento colabora para a reutilização de código
  • 9. Herança • Outro conceito é a herança, ou seja, receber algo que alguém está transmitindo a você • A herança possibilita a criação de novas classes a partir de classes já existentes • A classe-base é a classe que suportará todas as classes derivadas dela, fornecendo atributos, métodos e outros objetos. • A herança é uma funcionalidade que permite que novas classes sejam criadas a partir de uma classe já existente, dando suporte ao reuso de código já programado
  • 11. Polimorfismo • O polimorfismo está relacionado à herança. – Não existe polimorfismo se não houver herança. – Os conceitos estão intimamente relacionados. • Polimorfismo significa “muitas formas”, ou seja, é uma propriedade que permite que os objetos tenham muitas formas ao longo do programa. • O polimorfismo pode ser utilizando tanto para métodos como para classes – Os métodos podem ser reescritos a partir da classe-base – As classes podem mudar sua forma também a partir da classe- base