SlideShare uma empresa Scribd logo
1 de 25
Introdução a
Programação Orientada a
         Objetos

  Programação em Java
Desenvolvimento de Software tradicional

  Programas


   Processos


   dados




                   2/32
Enfoque a programas
   Visão tradicional usa perspectiva de algoritmo

   O principal bloco de construção é o procedimento ou
    função

   Conduz o foco de atenção para questões referentes ao
    controle e a decomposição de algoritmos maiores em
    outros menores

   Modelagem de dados divide as informações em tabelas,
    criando mecanismos para junção posterior


                              3/32
Desenvolvimento Orientado a Objetos
Visualiza e representa o mundo real como um
conjunto de objetos que interagem entre si para
que determinadas operações sejam realizadas.

       Motorista                 Carro
                                 Parar




                        4/32
Desenvolvimento Orientado a Objetos
                                          Conta corrente
   Objetos do mundo real
    transformam-se em objetos no           deposito()
    software.
                                              saldo

   Programação orientada a objetos é
    freqüentemente referenciada como
    um “novo” paradigma de
    programação.

   Viabiliza a montagem de sistemas
    a partir de componentes.


                                   5/32
Exemplo
   Você resolve jantar numa pizzaria.

   Existem vários objetos na pizzaria:
     Pizza
     Mesa
     Garçom, etc....


   Cada objeto tem características
    que o descrevem:
     Mesa redonda ou retangular
     Mesa desocupada ou não



                                   6/32
Criação dos objetos
   Desenvolver uma aplicação no paradigma OO implica
    em modelar os objetos existentes no mundo real no
    sistema em desenvolvimento.

   Objetos existentes no mundo real podem ser complexos,
    tornando necessário abstrair as características
    relevantes de cada entidade para o sistema em
    desenvolvimento

   O processo de abstração é fundamental para o
    desenvolvimento de softwares orientados a objetos.


                              7/32
Abstração

                    Eliminação
                              do
                   irrelevante e
                   amplificação
                   do essencial




            8/32
Abstração

   É o mecanismo que nos permite representar uma
    realidade complexa em termos de um modelo
    simplificado, de modo que detalhes irrelevantes possam
    ser suprimidos.

   Processo de filtragem de detalhes sem importância do
    objeto, para que apenas as características apropriadas
    que o descrevem permaneçam.




                              9/32
Exemplo – abstração




     Registros        Registros       Registros
     de oficina       em casa         Detran
 placa, conserto,   Km/l,             Identificação,
 pagamento, etc..   manutenção, etc   impostos, placa,
                                      etc..
                          10/32
Objetos
   Um objeto é qualquer coisa, real ou abstrata, sobre a qual
    armazenamos dados e operações que manipulam tais dados

   Unidade básica de modularização do sistema na abordagem OO

   Um objeto é um ente independente, composto por:
     atributos, isto é, características ou propriedades que definem o objeto
     comportamento, isto é, um conjunto de ações pré-definidas
      (denominada métodos), através das quais o objeto responderá à
      demanda de processamento por parte de outros objetos




                                      11/32
Desenvolvimento tradicional x
orientado a objetos

      Programa            Programa

      Processos            Classes

                          Atributos
       Dados

                          Operações



                  12/32
Classes

   Classes: “fábricas” de objetos.

   Exemplificando, temos que Pessoa é uma classe e João
    é um objeto (instância) da classe Pessoa.

   Um carro é uma classe; “meu carro” é um objeto.

   Objetos similares são agrupados em classes



                               13/32
Classes – Fábrica de objetos.




 Definição da classe




                       14/32
Mensagens
   A POO identifica uma abordagem em que o programador visualiza
    seu programa em execução em termos de objetos que se
    comunicam através de trocas de mensagens

   Mensagem - composta por um nome e por parâmetros (opcional)


           Cliente                           Conta
                         debite(50R$)        debite




                                 15/32
Mensagens

   Objetos interagem enviando mensagens uns para os
    outros;

   O objeto que receber a mensagem responderá através
    da seleção e execução de um método que faz parte de
    seu comportamento;

   Após a execução, o controle volta para o objeto que
    enviou a mensagem.



                              16/32
Classes e objetos em Java
        Estrutura de uma classe em Java


                                   Definição da
[acesso] class NomeDaClasse        classe
{

    Atributos
    Construtores                   O conteúdo da
    Métodos                        classe
}



                          17/32
Classes e objetos em Java
         Métodos de uma classe em Java

   Definem as operações que podem ser invocadas em
    um objeto.

   Podem receber parâmetros ou não.
        public String getNomeCurso()
        public void setNomeCurso(String nome)

   O cabeçalho define a assinatura do método.

                             18/32
Classes e objetos em Java
          Atributos de uma classe em Java
   Atributos armazenam valores     public class CursoGraduacao {
    para um objeto.
                                            private String nomeCurso;
                                            private int qtd_periodos;
   Eles também são conhecidos
    como variáveis de instâncias.           Construtor e métodos omitidos.
                                    }
   Atributos definem o estado
    de um objeto.
                                    Modificador de             Nome da
                                    visibilidade        Tipo   variável


                                                private String nomeCurso;


                                    19/32
Exemplo
public class Produto   {

    private int codigo;
    private String nome;

    public String getNome() {
         return nome;
    }
    public void setNome(String nome_produto) {
         nome = nome_produto;
    }
}


                                 20/32
Classes e objetos em Java
          Construção de objetos em Java

   Realizada com a palavra         Declaração do                  Objeto real
    reservada New.                  tipo da variável    Variável   criado
   Processo conhecido como
    criação de uma instância                      Produto p = new Produto();
    de uma classe.
   Tipo da variável pode diferir
    do objeto realmente criado
    (desde que estejam
    relacionados por herança).




                                     21/32
Construtores
   Da mesma forma que com        EX:
    variáveis comuns, é
    possível inicializar um       public Produto(int cod, String nome_prod)
    objeto logo ao construí-lo;   {
                                     codigo = cod;
   Construtores inicializam         nome = nome_prod;
    um objeto.                    }


   Eles têm o mesmo nome
    das suas classes.             int cod = 341278;
                                  String prod = “Computador MSX Expert”;
   Eles freqüentemente
    recebem valores de            Produto p = new Produto(cod, prod);
    parâmetros externos para
    definir os atributos.

                                     22/32
Classes e objetos em Java

   Construtores:
     Pode existir mais de um construtor em uma classe;
     Caso não seja definido nenhum construtor, o compilador cria o
      construtor padrão, sem parâmetros;
            O construtor padrão inicializa os atributos de classe para seus
             valores padrões.
       Caso seja definido qualquer construtor, o construtor padrão não
        será adicionado pelo compilador;
            Caso se tenha interesse que a classe ainda possua um construtor
             sem parâmetros, é necessário declará-lo explicitamente.




                                         23/32
A Referência this
   Métodos de instância         EX:
    recebem um argumento
    chamado this que é uma       Class Produto   {
    referência ao objeto
    corrente.                    private int codigo;
   O uso explícito do this é    private String nome;
    necessário quando:
      o nome de um parâmetro    public Produto(int codigo, String nome)
       do método for o mesmo     {
       de uma variável de           this.codigo = codigo;
       instância;                   this.nome = nome;
      desejamos passar uma      }
       referência do objeto
       corrente como parâmetro
       para outro método.



                                  24/32
Introdução a
Programação Orientada a
         Objetos

  Programação em Java

   Prof. Maurício Braga

Mais conteúdo relacionado

Mais procurados

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, interfacesRafael Pinheiro
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UMLinfo_cimol
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 

Mais procurados (20)

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
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Árvore Binária
Árvore BináriaÁrvore Binária
Árvore Binária
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 

Destaque

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
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
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a ObjetosEdy Segura
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoEvandro Júnior
 
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
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2Elvis Araújo
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Carlos Alberto
 
Testes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverTestes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverMaurício Linhares
 
Aula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAislan Rafael
 

Destaque (20)

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
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
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e Implementação
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
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
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Array list
Array listArray list
Array list
 
JRebel para desenvolvedores
JRebel para desenvolvedoresJRebel para desenvolvedores
JRebel para desenvolvedores
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2Linguagem de Programação Estruturada com Java-Aula2
Linguagem de Programação Estruturada com Java-Aula2
 
Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)Programação Orientada a Objeto(POO)
Programação Orientada a Objeto(POO)
 
Testes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverTestes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E Webdriver
 
Geek night-2015
Geek night-2015Geek night-2015
Geek night-2015
 
Aula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro Código
 

Semelhante a Introdução à POO em Java

Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 
Construtor em Java
Construtor em JavaConstrutor em Java
Construtor em JavaEderson Lima
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Script c
Script cScript c
Script cRaphael
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
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
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacaotaniamaciel
 

Semelhante a Introdução à POO em Java (20)

Java7
Java7Java7
Java7
 
v
vv
v
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Construtor em Java
Construtor em JavaConstrutor em Java
Construtor em Java
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Script c
Script cScript c
Script c
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
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
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
03 poo
03 poo03 poo
03 poo
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 

Último

02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 

Último (20)

02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 

Introdução à POO em Java

  • 1. Introdução a Programação Orientada a Objetos Programação em Java
  • 2. Desenvolvimento de Software tradicional Programas Processos dados 2/32
  • 3. Enfoque a programas  Visão tradicional usa perspectiva de algoritmo  O principal bloco de construção é o procedimento ou função  Conduz o foco de atenção para questões referentes ao controle e a decomposição de algoritmos maiores em outros menores  Modelagem de dados divide as informações em tabelas, criando mecanismos para junção posterior 3/32
  • 4. Desenvolvimento Orientado a Objetos Visualiza e representa o mundo real como um conjunto de objetos que interagem entre si para que determinadas operações sejam realizadas. Motorista Carro Parar 4/32
  • 5. Desenvolvimento Orientado a Objetos Conta corrente  Objetos do mundo real transformam-se em objetos no deposito() software. saldo  Programação orientada a objetos é freqüentemente referenciada como um “novo” paradigma de programação.  Viabiliza a montagem de sistemas a partir de componentes. 5/32
  • 6. Exemplo  Você resolve jantar numa pizzaria.  Existem vários objetos na pizzaria:  Pizza  Mesa  Garçom, etc....  Cada objeto tem características que o descrevem:  Mesa redonda ou retangular  Mesa desocupada ou não 6/32
  • 7. Criação dos objetos  Desenvolver uma aplicação no paradigma OO implica em modelar os objetos existentes no mundo real no sistema em desenvolvimento.  Objetos existentes no mundo real podem ser complexos, tornando necessário abstrair as características relevantes de cada entidade para o sistema em desenvolvimento  O processo de abstração é fundamental para o desenvolvimento de softwares orientados a objetos. 7/32
  • 8. Abstração Eliminação do irrelevante e amplificação do essencial 8/32
  • 9. Abstração  É o mecanismo que nos permite representar uma realidade complexa em termos de um modelo simplificado, de modo que detalhes irrelevantes possam ser suprimidos.  Processo de filtragem de detalhes sem importância do objeto, para que apenas as características apropriadas que o descrevem permaneçam. 9/32
  • 10. Exemplo – abstração Registros Registros Registros de oficina em casa Detran placa, conserto, Km/l, Identificação, pagamento, etc.. manutenção, etc impostos, placa, etc.. 10/32
  • 11. Objetos  Um objeto é qualquer coisa, real ou abstrata, sobre a qual armazenamos dados e operações que manipulam tais dados  Unidade básica de modularização do sistema na abordagem OO  Um objeto é um ente independente, composto por:  atributos, isto é, características ou propriedades que definem o objeto  comportamento, isto é, um conjunto de ações pré-definidas (denominada métodos), através das quais o objeto responderá à demanda de processamento por parte de outros objetos 11/32
  • 12. Desenvolvimento tradicional x orientado a objetos Programa Programa Processos Classes Atributos Dados Operações 12/32
  • 13. Classes  Classes: “fábricas” de objetos.  Exemplificando, temos que Pessoa é uma classe e João é um objeto (instância) da classe Pessoa.  Um carro é uma classe; “meu carro” é um objeto.  Objetos similares são agrupados em classes 13/32
  • 14. Classes – Fábrica de objetos. Definição da classe 14/32
  • 15. Mensagens  A POO identifica uma abordagem em que o programador visualiza seu programa em execução em termos de objetos que se comunicam através de trocas de mensagens  Mensagem - composta por um nome e por parâmetros (opcional) Cliente Conta debite(50R$) debite 15/32
  • 16. Mensagens  Objetos interagem enviando mensagens uns para os outros;  O objeto que receber a mensagem responderá através da seleção e execução de um método que faz parte de seu comportamento;  Após a execução, o controle volta para o objeto que enviou a mensagem. 16/32
  • 17. Classes e objetos em Java Estrutura de uma classe em Java Definição da [acesso] class NomeDaClasse classe { Atributos Construtores O conteúdo da Métodos classe } 17/32
  • 18. Classes e objetos em Java Métodos de uma classe em Java  Definem as operações que podem ser invocadas em um objeto.  Podem receber parâmetros ou não. public String getNomeCurso() public void setNomeCurso(String nome)  O cabeçalho define a assinatura do método. 18/32
  • 19. Classes e objetos em Java Atributos de uma classe em Java  Atributos armazenam valores public class CursoGraduacao { para um objeto. private String nomeCurso; private int qtd_periodos;  Eles também são conhecidos como variáveis de instâncias. Construtor e métodos omitidos. }  Atributos definem o estado de um objeto. Modificador de Nome da visibilidade Tipo variável private String nomeCurso; 19/32
  • 20. Exemplo public class Produto { private int codigo; private String nome; public String getNome() { return nome; } public void setNome(String nome_produto) { nome = nome_produto; } } 20/32
  • 21. Classes e objetos em Java Construção de objetos em Java  Realizada com a palavra Declaração do Objeto real reservada New. tipo da variável Variável criado  Processo conhecido como criação de uma instância Produto p = new Produto(); de uma classe.  Tipo da variável pode diferir do objeto realmente criado (desde que estejam relacionados por herança). 21/32
  • 22. Construtores  Da mesma forma que com EX: variáveis comuns, é possível inicializar um public Produto(int cod, String nome_prod) objeto logo ao construí-lo; { codigo = cod;  Construtores inicializam nome = nome_prod; um objeto. }  Eles têm o mesmo nome das suas classes. int cod = 341278; String prod = “Computador MSX Expert”;  Eles freqüentemente recebem valores de Produto p = new Produto(cod, prod); parâmetros externos para definir os atributos. 22/32
  • 23. Classes e objetos em Java  Construtores:  Pode existir mais de um construtor em uma classe;  Caso não seja definido nenhum construtor, o compilador cria o construtor padrão, sem parâmetros;  O construtor padrão inicializa os atributos de classe para seus valores padrões.  Caso seja definido qualquer construtor, o construtor padrão não será adicionado pelo compilador;  Caso se tenha interesse que a classe ainda possua um construtor sem parâmetros, é necessário declará-lo explicitamente. 23/32
  • 24. A Referência this  Métodos de instância EX: recebem um argumento chamado this que é uma Class Produto { referência ao objeto corrente. private int codigo;  O uso explícito do this é private String nome; necessário quando:  o nome de um parâmetro public Produto(int codigo, String nome) do método for o mesmo { de uma variável de this.codigo = codigo; instância; this.nome = nome;  desejamos passar uma } referência do objeto corrente como parâmetro para outro método. 24/32
  • 25. Introdução a Programação Orientada a Objetos Programação em Java Prof. Maurício Braga

Notas do Editor

  1. Programação orientada a objetos com Java
  2. Programação orientada a objetos com Java
  3. Programação orientada a objetos com Java
  4. Programação orientada a objetos com Java
  5. Programação orientada a objetos com Java
  6. Programação orientada a objetos com Java
  7. Programação orientada a objetos com Java
  8. Programação orientada a objetos com Java
  9. Programação orientada a objetos com Java
  10. Programação orientada a objetos com Java