Básico de programação
orientada a objetos
Abril/2010



UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
UNIVERSIDADE ABERTA DO BRASIL
DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA
Curso de Bacharelado em Sistemas de Informação

Leonardo Melo Santos
leonardomelosantos@gmail.com
Introdução a orientação
a objetos

Capítulo 1
Evolução das linguagens de
programação
   Linguagem de máquina e linguagem montadora
     Muitos comandos para fazer alto simples;
     Exigência de muito conhecimento;
     Códigos não tão legíveis;

   Linguagens de alto nível
     Popularização do uso dos computadores;
     Códigos mais amigáveis devido à complexidade dos
      problemas;
Paradigmas de programação
   1) Paradigma imperativo
     Código mais amigágel que linguagens
      montadoras;
     Código sequencial;
   2) Paradigma procedural
     Paradigma  imperativo mas com o uso de
      subrotinas (funções e procedimentos);
Paradigmas de programação
   3) Programação Modular e Estruturada
     Surgiu com a demanda de grandes projetos;
     Agrupamento de código-fonte através de
      módulos;
     Mais facilidade na manutenção do código-
      fonte;
Paradigmas de programação
   4) Paradigma orientado a objetos
    O  problema é partido em vários pedaços, a
      ponto de definirmos objetos/entidades;
     Visa aproximar a maneira como construímos
      os programas com o mundo real;
Vamos
comparar!!!
Introdução a orientação
a objetos

Capítulo 2
Conceitos de        O   rientação a   O
                                      bjetos


 Classe e Objeto
 Abstração
     Classificação/Instanciação;
     Agregação/Composição;
     Associaçõessimples;
     Encapsulamento;
     Generalização/Especialização;
     Polimorfismo;
O que é classe e o que é objeto?

   Classe: Uma classe é a descrição de um grupo
    de objetos com propriedades (atributos),
    comportamentos (métodos), e relacionamentos
    com outros objetos (associações e agregações);
   Objeto: Denota uma entidade, seja ela de
    natureza física, conceitual ou de software.
    Elementos como pessoas, organizações,
    máquinas, animais ou eventos podem ser
    considerados objetos.
O que é abstração???

Abstração é considerada a habilidade
 de modelar características do mundo
 real do problema que o programador
       esteja tentando resolver.
Classificação/Instanciação
 Classificar significa agrupar objetos com
  base em estruturas e comportamentos
  semelhantes;
 Instanciar objetos significa gerar novos
  exemplares a partir de uma descrição
  abstrata de um objeto genérico.
Classificação/Instanciação
Agregação/Composição
   A ideia de agregação ou composição
    estabelece a criação de novas classes de
    objetos a partir da junção de classes já
    existentes.
     Agregação:  Quando unimos um conjunto de
      objetos para formarmos um novo objeto;
     Decomposição: Quando, analisando um
      objeto, isolamos cada um de seus
      componentes.
Agregação/Composição
Associações simples
   As entidades envolvidas apresentam
    existências independentes, mas existe
    uma ligação entre elas. A agregação não
    é única forma de relacionamento entre
    objetos e classes.
Associações simples
Encapsulamento
   Um dos aspectos mais positivos da
    programação modular foi a ideia de
    encapsulamento de informações.
Encapsulamento
Generalização/Especialização
   Generalização e especialização são
    abstrações que permitem o reuso de
    objetos através da criação de classes de
    objetos a partir de outras classes.
Generalização/Especialização
Polimorfismo
   um mesmo tipo de objeto, sob certas
    condições, pode realizar ações diferentes
    ao receber uma mesma mensagem. Ou
    seja, objetos podem ter reações
    diferentes ao mesmo estímulo.
Polimorfismo
Dicas de estudo
   Foquem seus estudos em Abstração:
     Classificação/Instanciação;
     Agregação/Composição;
     Associaçõessimples;
     Encapsulamento;
     Generalização/Especialização;
     Polimorfismo;

   Instalem o Java SDK , Eclipse e   pratiquem!!!
Dúvidas?

Conceitos básicos de programação orientada a objetos

  • 1.
    Básico de programação orientadaa objetos Abril/2010 UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIVERSIDADE ABERTA DO BRASIL DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA Curso de Bacharelado em Sistemas de Informação Leonardo Melo Santos leonardomelosantos@gmail.com
  • 2.
    Introdução a orientação aobjetos Capítulo 1
  • 3.
    Evolução das linguagensde programação  Linguagem de máquina e linguagem montadora  Muitos comandos para fazer alto simples;  Exigência de muito conhecimento;  Códigos não tão legíveis;  Linguagens de alto nível  Popularização do uso dos computadores;  Códigos mais amigáveis devido à complexidade dos problemas;
  • 4.
    Paradigmas de programação  1) Paradigma imperativo  Código mais amigágel que linguagens montadoras;  Código sequencial;  2) Paradigma procedural  Paradigma imperativo mas com o uso de subrotinas (funções e procedimentos);
  • 5.
    Paradigmas de programação  3) Programação Modular e Estruturada  Surgiu com a demanda de grandes projetos;  Agrupamento de código-fonte através de módulos;  Mais facilidade na manutenção do código- fonte;
  • 6.
    Paradigmas de programação  4) Paradigma orientado a objetos O problema é partido em vários pedaços, a ponto de definirmos objetos/entidades;  Visa aproximar a maneira como construímos os programas com o mundo real;
  • 7.
  • 8.
    Introdução a orientação aobjetos Capítulo 2
  • 9.
    Conceitos de O rientação a O bjetos  Classe e Objeto  Abstração  Classificação/Instanciação;  Agregação/Composição;  Associaçõessimples;  Encapsulamento;  Generalização/Especialização;  Polimorfismo;
  • 10.
    O que éclasse e o que é objeto?  Classe: Uma classe é a descrição de um grupo de objetos com propriedades (atributos), comportamentos (métodos), e relacionamentos com outros objetos (associações e agregações);  Objeto: Denota uma entidade, seja ela de natureza física, conceitual ou de software. Elementos como pessoas, organizações, máquinas, animais ou eventos podem ser considerados objetos.
  • 11.
    O que éabstração??? Abstração é considerada a habilidade de modelar características do mundo real do problema que o programador esteja tentando resolver.
  • 12.
    Classificação/Instanciação  Classificar significaagrupar objetos com base em estruturas e comportamentos semelhantes;  Instanciar objetos significa gerar novos exemplares a partir de uma descrição abstrata de um objeto genérico.
  • 13.
  • 14.
    Agregação/Composição  A ideia de agregação ou composição estabelece a criação de novas classes de objetos a partir da junção de classes já existentes.  Agregação: Quando unimos um conjunto de objetos para formarmos um novo objeto;  Decomposição: Quando, analisando um objeto, isolamos cada um de seus componentes.
  • 15.
  • 16.
    Associações simples  As entidades envolvidas apresentam existências independentes, mas existe uma ligação entre elas. A agregação não é única forma de relacionamento entre objetos e classes.
  • 17.
  • 18.
    Encapsulamento  Um dos aspectos mais positivos da programação modular foi a ideia de encapsulamento de informações.
  • 19.
  • 20.
    Generalização/Especialização  Generalização e especialização são abstrações que permitem o reuso de objetos através da criação de classes de objetos a partir de outras classes.
  • 21.
  • 22.
    Polimorfismo  um mesmo tipo de objeto, sob certas condições, pode realizar ações diferentes ao receber uma mesma mensagem. Ou seja, objetos podem ter reações diferentes ao mesmo estímulo.
  • 23.
  • 24.
    Dicas de estudo  Foquem seus estudos em Abstração:  Classificação/Instanciação;  Agregação/Composição;  Associaçõessimples;  Encapsulamento;  Generalização/Especialização;  Polimorfismo;  Instalem o Java SDK , Eclipse e pratiquem!!!
  • 25.