Programação Orientada a Objetos



    Fundamentos da Linguagem
   Java e da Orientação a Objetos



          Ludimila Monjardim Casagrande
                      2012
Tópicos da Aula

     Fundamentos da linguagem Java:
           Arquivos
           Comentários
           Convenções de codificação
           Palavras-chave
           Identificadores
           Tipos primitivos
           Sintaxe para a declaração de:
                 Classes, atributos, métodos e construtores.

Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande   2
Arquivos em Java

     Todo arquivo fonte em Java termina com a extensão
        .java.
     Os arquivos compilados do Java possuem a
        extensão .class.
     Um arquivo fonte em Java deve conter no máximo
        uma classe pública, ou seja, o arquivo pode conter 0
        ou 1 classe pública.
     Caso exista uma classe pública, então, o nome do
        arquivo deve ser igual ao nome da classe pública.


Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   3
Comentários em Java

     Java suporta três estilos de comentários:
           Para comentar uma linha:
                 usa-se os caracteres //
           Para comentar várias linhas:
                 usa-se os caracteres /* e */
           Para comentar linhas que fazem parte da
            documentação da classe:
                 usa-se os caracteres /** e */


Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   4
Primeiro Aplicativo Java
    1. /* essa é uma forma de comentar
          múltiplas linhas */
    2. // esse é um comentário de uma única linha
    3. public class PrimeiraClasse {
    4.      // o método main inicia a execução da aplicação Java
    5.     public static void main (String[] args) {
    6.          System.out.println(“Minha primeira classe.”);
    7.      } // fim do método main
    8. } // fim da classe

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   5
Convenções do Java

     Para aumentar a legibilidade dos códigos
        desenvolvidos em Java, algumas convenções
        são adotadas.
     As convenções de código providas pela Sun e
        amplamente seguidas podem ser encontradas
        em:
           http://www.oracle.com/technetwork/java/codeconv-
            138413.html ou
           http://www.oracle.com/technetwork/java/codeconvtoc-
            136057.html


Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande    6
Convenções para Nomes

     Classes e Interfaces:
           nomes de classes devem ser escritos com a
            primeira letra maiúscula e as demais minúsculas –
            a primeira letra de palavras subsequentes
            também deve ser maiúscula.
           Exemplos:
                 Cliente
                 ClienteEspecial



Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   7
Convenções para Nomes

     Variáveis e Métodos:
           nomes de variáveis e métodos devem ser escritos
            com letras minúsculas – sendo a primeira letra de
            palavras subsequentes maiúscula.
           Exemplos de nomes de métodos:
                 adicionarCliente
                 remover




Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   8
Palavras-chave do Java

       Palavras-chave e palavras reservadas do Java:




       As palavras-chave goto e const são reservadas, embora não tenham
        significado em Java. Portanto, programas não podem usá-las como
                                  identificadores.
Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande            9
Identificadores

     Um identificador é um nome usado para
        identificar uma variável, um método, uma classe
        ou uma constante.
     Palavras-chave ou reservadas não podem ser
        usadas como identificadores.
     Um identificador pode começar com uma letra,
        com o caracter $ ou com um underscore _,
        seguidos por letras, underscores, caracteres $,
        ou dígitos.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   10
Identificadores

     Exemplos de identificadores válidos:
           $nome
           nome
           primeiroNome
           nome1
           _nome
     Identificadores são case sensitive, portanto,
        Nome ≠ nome.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   11
Tipos Primitivos do Java

     Os tipos primitivos da linguagem Java são:
           boolean
           char
           byte
           short
           int
           long
           float
           double


Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   12
Tipos Primitivos do Java

     Tipos primitivos da linguagem Java e seus
        respectivos tamanhos em bits:




Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   13
Tipos Primitivos do Java

     Variáveis do tipo boolean só podem receber os
        valores true e false.
     Os tipos inteiros são: byte, short, int e long.
        Todos com sinal.
     Os tipos ponto-flutuante são: float e double.
     O tipo char é inteiro porém sem sinal. Sendo
        assim, o intervalo de valores do char é de 0 a 216
        -1  0 a 65535.


Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   14
Intervalos de Valores

      Intervalos de valores dos tipos primitivos inteiros
           do Java:


       *

       *




           * byte: -128 a 127 e short: -32768 a 32767, por exemplo

Fundamentos do Java               ©2012 Ludimila Monjardim Casagrande   15
Intervalos de Valores

     Variáveis do tipo char usam o esquema de
        codificação Unicode, que corresponde a todos os
        caracteres ASCII + caracteres especiais.
     Como char ocupa 2 bytes (16 bits), pode representar
        até 65.536 caracteres (atualmente cerca de 35.000
        são usados). Isso faz com que a linguagem possa
        representar todos os caracteres em todos os idiomas
        escritos no planeta.
     A tabela ASCII estendida utiliza somente 8 bits (≈
        capacidade para representar apenas 256 caracteres).

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande    16
Estrutura de uma Classe

                                    <modificador> class <nome_da_classe> {

                                        [<declaração_dos_atributos>]

                                        [<declaração_dos_construtores>]

Estrutura básica de uma classe          [<declaração_dos_métodos>]
            em UML
                                    }
                                             Estrutura básica de uma classe em
                                                            Java




Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande                 17
Estrutura de uma Classe - Exemplo
  public class Contador {

       public int contador;                          Atributo e tipo do atributo
       public Contador( ) {
         this.contador = 0;                          Construtor default
       }

       public void incrementa( ) {
         this.contador++;
       }                                                     Métodos

       public void decrementa( ) {
         this.contador--;
       }
  }                   this  referência para o objeto corrente
Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande                  18
Representações de uma Classe

                                   public class Conta {
                                       private double saldo;
                                       public void creditar (double valor) {
                                           saldo = saldo + valor;
    Representação usando UML
                                       }
    Nota:                              public void debitar (double valor) {
    - private                              saldo = saldo - valor;
    + public
    ~ default                          }
    # protected                    }
                                               Representação usando Java


Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande                  19
Declaração de Atributos

     A sintaxe básica para a declaração de um
        atributo é:
                  <modificador> <tipo> <nome_do_atributo>;
           o modificador é opcional

     Exemplos:
           private int ra;
           public String nome;
           Conta c;

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   20
Inicialização de Atributos

     No momento de sua declaração os atributos
        também podem ser inicializados.

     Exemplos:
           public int idade = 1;
           private double resultado = 10.0;
           String nome = “Java”;
           protected Conta c = null;



Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   21
Inicialização de Atributos

      Em Java, caso os atributos não sejam
         explicitamente inicializados na sua declaração,
         eles serão automaticamente inicializados com
         um valor predeterminado de acordo com o seu
         tipo.
      Exemplos de valores iniciais conforme o tipo:
            int  0
            boolean  false
            double  0.0
            referência a um objeto  null
Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   22
Valores Default

       Valores predefinidos de inicialização de
           variáveis de classe em Java:

         Tipo           Valor Inicial                     Tipo           Valor Inicial
         byte                0                            short               0
         int                 0                            long                0
         float              0.0                           double             0.0
         char            'u0000'                         boolean           false
         referência a
                            null
         objeto


Fundamentos do Java                ©2012 Ludimila Monjardim Casagrande                   23
Declaração de Métodos

      A sintaxe básica para a declaração de um
         método é:
           <modificador><tipo_de_retorno><nome_do_método>
            (<lista_de_argumentos>) {
                 <instruções>
            }
            o modificador, a lista de argumentos e as instruções
             são partes opcionais
            a lista de argumentos é formada por pares, separados
             por vírgula:
             <tipo><nome_do_argumento>

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande      24
Exemplos de Métodos

  public class Aluno {
       int matricula;
       public int obterMatricula( ) {                        Método sem argumentos,
         return matricula;                                   que retorna um int
       }
       public void alterarMatricula                              Método com argumentos,
                         (int matricula) {                       que não retorna nada
         this.matricula = matricula;
       }
  }
                      this  referência para o objeto corrente
Fundamentos do Java            ©2012 Ludimila Monjardim Casagrande                    25
Construtores

     Objetos são criados por meio da execução de um dos
        seus construtores.
     O nome do construtor deve ser idêntico ao nome da
        classe.
     Os construtores devem ser declarados sem nenhum tipo
        de retorno.
           Exemplo: public Aluno() { }
     É permitido (embora não aconselhável) que um método
        tenha o mesmo nome da classe. Nesse caso, se existir
        um tipo de retorno, trata-se de um método comum e não
        de um construtor.
Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   26
Construtores

     Construtores podem usar qualquer modificador de
        acesso, incluindo private.
     Os construtores são comumente utilizados para definir
        valores para os atributos da classe.
     Métodos construtores definidos para uma certa classe
        podem ou não possuir argumentos.
     O construtor sem argumentos ou construtor vazio é
        considerado o construtor default.
     Se nenhum construtor for implementado na classe, o
        compilador gerará automaticamente o construtor padrão
        (default), que não possui argumentos.
Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   27
Construtores

     Se qualquer outro construtor (com argumentos) existir na
      classe e você quiser usar um construtor sem
      argumentos, você deverá criá-lo manualmente.
     Sendo assim, em Java, o construtor default é criado
      automaticamente pelo compilador se e somente se não
      existir nenhum outro construtor definido para a classe.
     Isso significa que o construtor default pode ser omitido na
      declaração de uma classe caso ela não possua um
      construtor com argumentos.
     Se a classe possuir um construtor com argumentos, é
        fortemente recomendado que o construtor default seja
        declarado explicitamente.

Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande        28
Declaração de Construtores

      A sintaxe básica para a declaração de um
         construtor é:
           <modificador><nome_da_classe>(<lista_de_argumentos>){
                 <instruções>
            }
            o modificador, a lista de argumentos e as instruções
             são partes opcionais
            a lista de argumentos é formada por pares
             <tipo><nome_do_argumento>
            um construtor não possui tipo de retorno

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande      29
Exemplos de Construtores
   public class Conta {
        private double saldo;
        public Conta ( ) {                               Construtor default
        }
        public Conta (double saldo) {                          Construtor com
           this.saldo = saldo;
                                                               um argumento
        }
        public void creditar (double valor) {
           saldo = saldo + valor;
        }
        public void debitar (double valor) {
           saldo = saldo - valor;
        }                                                Os construtores normalmente
        public double obterSaldo ( ) {                   inicializam os atributos da
           return saldo;                                 classe.
        }
   }
Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande                    30
A Referência this

     A palavra-chave this é uma referência para o
        objeto corrente.

     this pode ser usado para:
           referenciar um atributo ou método de uma classe
            dentro de um construtor ou de método da mesma;
           passar o objeto corrente como um parâmetro para
            outro método ou construtor.




Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   31
Criação de um Objeto

     Todo objeto em um programa ou aplicação é
        criado em tempo de execução, utilizado e
        destruído.

     Em Java, a palavra-chave new é usada para
        criar um novo objeto como uma instância de uma
        classe específica, retornando como resultado
        uma referência para o objeto criado.




Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   32
Criação de um Objeto

      A sintaxe para criação de um objeto é:
             new <nome_da_classe> ([lista_de_argumentos])

      Observe que a palavra-chave new é sucedida
         pela chamada de um construtor da classe.
      O corpo (ou código) do método construtor
         determina as ações associadas à inicialização
         de cada objeto criado.
      Um construtor só é invocado quando um objeto
         é criado.

Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   33
Exemplo de Criação de um Objeto
     public class Principal {
         public static void main (String[] args) {
             Conta c1 = new Conta( );                               Chamada do construtor
                                                                    default
             c1.creditar(10.0);
             System.out.println(c1.obterSaldo());
             Conta c2 = new Conta(50.0);                        Chamada do construtor
                                                                com um argumento
             c2.creditar(10.0);
             System.out.println(c2.obterSaldo());
         }                                                      c1 e c2 são objetos
                                                                distintos e independentes
     }
Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande                           34
Acesso aos Membros de uma Classe

     Os atributos e métodos também são chamados
        de membros de uma classe.
     Em Java, a seguinte sintaxe é utilizada para se
        ter acesso aos membros da classe:
          <objeto>.<membro>              ou       <classe>.<membro>
     Exemplos:
           c1.creditar(10.0);
           aluno1.matricula;
           System.out;

Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande         35
Leituras Recomendadas

     FJ-11: Java e Orientação a Objetos.
        Caelum Ensino e Soluções em Java.
        http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/

     Complete Java 2 Certification - Study Guide.
        Sybex.

     Java: Como Programar.
        Autores: H. M. Deitel e P. J. Deitel.
        Editora: Pearson – 6ª Edição.


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande        36

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos

  • 1.
    Programação Orientada aObjetos Fundamentos da Linguagem Java e da Orientação a Objetos Ludimila Monjardim Casagrande 2012
  • 2.
    Tópicos da Aula  Fundamentos da linguagem Java:  Arquivos  Comentários  Convenções de codificação  Palavras-chave  Identificadores  Tipos primitivos  Sintaxe para a declaração de:  Classes, atributos, métodos e construtores. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 2
  • 3.
    Arquivos em Java  Todo arquivo fonte em Java termina com a extensão .java.  Os arquivos compilados do Java possuem a extensão .class.  Um arquivo fonte em Java deve conter no máximo uma classe pública, ou seja, o arquivo pode conter 0 ou 1 classe pública.  Caso exista uma classe pública, então, o nome do arquivo deve ser igual ao nome da classe pública. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 3
  • 4.
    Comentários em Java  Java suporta três estilos de comentários:  Para comentar uma linha:  usa-se os caracteres //  Para comentar várias linhas:  usa-se os caracteres /* e */  Para comentar linhas que fazem parte da documentação da classe:  usa-se os caracteres /** e */ Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 4
  • 5.
    Primeiro Aplicativo Java 1. /* essa é uma forma de comentar múltiplas linhas */ 2. // esse é um comentário de uma única linha 3. public class PrimeiraClasse { 4. // o método main inicia a execução da aplicação Java 5. public static void main (String[] args) { 6. System.out.println(“Minha primeira classe.”); 7. } // fim do método main 8. } // fim da classe Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 5
  • 6.
    Convenções do Java  Para aumentar a legibilidade dos códigos desenvolvidos em Java, algumas convenções são adotadas.  As convenções de código providas pela Sun e amplamente seguidas podem ser encontradas em:  http://www.oracle.com/technetwork/java/codeconv- 138413.html ou  http://www.oracle.com/technetwork/java/codeconvtoc- 136057.html Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 6
  • 7.
    Convenções para Nomes  Classes e Interfaces:  nomes de classes devem ser escritos com a primeira letra maiúscula e as demais minúsculas – a primeira letra de palavras subsequentes também deve ser maiúscula.  Exemplos:  Cliente  ClienteEspecial Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 7
  • 8.
    Convenções para Nomes  Variáveis e Métodos:  nomes de variáveis e métodos devem ser escritos com letras minúsculas – sendo a primeira letra de palavras subsequentes maiúscula.  Exemplos de nomes de métodos:  adicionarCliente  remover Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 8
  • 9.
    Palavras-chave do Java  Palavras-chave e palavras reservadas do Java: As palavras-chave goto e const são reservadas, embora não tenham significado em Java. Portanto, programas não podem usá-las como identificadores. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 9
  • 10.
    Identificadores  Um identificador é um nome usado para identificar uma variável, um método, uma classe ou uma constante.  Palavras-chave ou reservadas não podem ser usadas como identificadores.  Um identificador pode começar com uma letra, com o caracter $ ou com um underscore _, seguidos por letras, underscores, caracteres $, ou dígitos. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 10
  • 11.
    Identificadores  Exemplos de identificadores válidos:  $nome  nome  primeiroNome  nome1  _nome  Identificadores são case sensitive, portanto, Nome ≠ nome. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 11
  • 12.
    Tipos Primitivos doJava  Os tipos primitivos da linguagem Java são:  boolean  char  byte  short  int  long  float  double Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 12
  • 13.
    Tipos Primitivos doJava  Tipos primitivos da linguagem Java e seus respectivos tamanhos em bits: Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 13
  • 14.
    Tipos Primitivos doJava  Variáveis do tipo boolean só podem receber os valores true e false.  Os tipos inteiros são: byte, short, int e long. Todos com sinal.  Os tipos ponto-flutuante são: float e double.  O tipo char é inteiro porém sem sinal. Sendo assim, o intervalo de valores do char é de 0 a 216 -1  0 a 65535. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 14
  • 15.
    Intervalos de Valores  Intervalos de valores dos tipos primitivos inteiros do Java: * * * byte: -128 a 127 e short: -32768 a 32767, por exemplo Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 15
  • 16.
    Intervalos de Valores  Variáveis do tipo char usam o esquema de codificação Unicode, que corresponde a todos os caracteres ASCII + caracteres especiais.  Como char ocupa 2 bytes (16 bits), pode representar até 65.536 caracteres (atualmente cerca de 35.000 são usados). Isso faz com que a linguagem possa representar todos os caracteres em todos os idiomas escritos no planeta.  A tabela ASCII estendida utiliza somente 8 bits (≈ capacidade para representar apenas 256 caracteres). Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 16
  • 17.
    Estrutura de umaClasse <modificador> class <nome_da_classe> { [<declaração_dos_atributos>] [<declaração_dos_construtores>] Estrutura básica de uma classe [<declaração_dos_métodos>] em UML } Estrutura básica de uma classe em Java Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 17
  • 18.
    Estrutura de umaClasse - Exemplo public class Contador { public int contador; Atributo e tipo do atributo public Contador( ) { this.contador = 0; Construtor default } public void incrementa( ) { this.contador++; } Métodos public void decrementa( ) { this.contador--; } } this  referência para o objeto corrente Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 18
  • 19.
    Representações de umaClasse public class Conta { private double saldo; public void creditar (double valor) { saldo = saldo + valor; Representação usando UML } Nota: public void debitar (double valor) { - private saldo = saldo - valor; + public ~ default } # protected } Representação usando Java Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 19
  • 20.
    Declaração de Atributos  A sintaxe básica para a declaração de um atributo é: <modificador> <tipo> <nome_do_atributo>;  o modificador é opcional  Exemplos:  private int ra;  public String nome;  Conta c; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 20
  • 21.
    Inicialização de Atributos  No momento de sua declaração os atributos também podem ser inicializados.  Exemplos:  public int idade = 1;  private double resultado = 10.0;  String nome = “Java”;  protected Conta c = null; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 21
  • 22.
    Inicialização de Atributos  Em Java, caso os atributos não sejam explicitamente inicializados na sua declaração, eles serão automaticamente inicializados com um valor predeterminado de acordo com o seu tipo.  Exemplos de valores iniciais conforme o tipo:  int  0  boolean  false  double  0.0  referência a um objeto  null Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 22
  • 23.
    Valores Default  Valores predefinidos de inicialização de variáveis de classe em Java: Tipo Valor Inicial Tipo Valor Inicial byte 0 short 0 int 0 long 0 float 0.0 double 0.0 char 'u0000' boolean false referência a null objeto Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 23
  • 24.
    Declaração de Métodos  A sintaxe básica para a declaração de um método é: <modificador><tipo_de_retorno><nome_do_método> (<lista_de_argumentos>) { <instruções> }  o modificador, a lista de argumentos e as instruções são partes opcionais  a lista de argumentos é formada por pares, separados por vírgula: <tipo><nome_do_argumento> Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 24
  • 25.
    Exemplos de Métodos public class Aluno { int matricula; public int obterMatricula( ) { Método sem argumentos, return matricula; que retorna um int } public void alterarMatricula Método com argumentos, (int matricula) { que não retorna nada this.matricula = matricula; } } this  referência para o objeto corrente Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 25
  • 26.
    Construtores  Objetos são criados por meio da execução de um dos seus construtores.  O nome do construtor deve ser idêntico ao nome da classe.  Os construtores devem ser declarados sem nenhum tipo de retorno.  Exemplo: public Aluno() { }  É permitido (embora não aconselhável) que um método tenha o mesmo nome da classe. Nesse caso, se existir um tipo de retorno, trata-se de um método comum e não de um construtor. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 26
  • 27.
    Construtores  Construtores podem usar qualquer modificador de acesso, incluindo private.  Os construtores são comumente utilizados para definir valores para os atributos da classe.  Métodos construtores definidos para uma certa classe podem ou não possuir argumentos.  O construtor sem argumentos ou construtor vazio é considerado o construtor default.  Se nenhum construtor for implementado na classe, o compilador gerará automaticamente o construtor padrão (default), que não possui argumentos. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 27
  • 28.
    Construtores  Se qualquer outro construtor (com argumentos) existir na classe e você quiser usar um construtor sem argumentos, você deverá criá-lo manualmente.  Sendo assim, em Java, o construtor default é criado automaticamente pelo compilador se e somente se não existir nenhum outro construtor definido para a classe.  Isso significa que o construtor default pode ser omitido na declaração de uma classe caso ela não possua um construtor com argumentos.  Se a classe possuir um construtor com argumentos, é fortemente recomendado que o construtor default seja declarado explicitamente. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 28
  • 29.
    Declaração de Construtores  A sintaxe básica para a declaração de um construtor é: <modificador><nome_da_classe>(<lista_de_argumentos>){ <instruções> }  o modificador, a lista de argumentos e as instruções são partes opcionais  a lista de argumentos é formada por pares <tipo><nome_do_argumento>  um construtor não possui tipo de retorno Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 29
  • 30.
    Exemplos de Construtores public class Conta { private double saldo; public Conta ( ) { Construtor default } public Conta (double saldo) { Construtor com this.saldo = saldo; um argumento } public void creditar (double valor) { saldo = saldo + valor; } public void debitar (double valor) { saldo = saldo - valor; } Os construtores normalmente public double obterSaldo ( ) { inicializam os atributos da return saldo; classe. } } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 30
  • 31.
    A Referência this  A palavra-chave this é uma referência para o objeto corrente.  this pode ser usado para:  referenciar um atributo ou método de uma classe dentro de um construtor ou de método da mesma;  passar o objeto corrente como um parâmetro para outro método ou construtor. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 31
  • 32.
    Criação de umObjeto  Todo objeto em um programa ou aplicação é criado em tempo de execução, utilizado e destruído.  Em Java, a palavra-chave new é usada para criar um novo objeto como uma instância de uma classe específica, retornando como resultado uma referência para o objeto criado. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 32
  • 33.
    Criação de umObjeto  A sintaxe para criação de um objeto é: new <nome_da_classe> ([lista_de_argumentos])  Observe que a palavra-chave new é sucedida pela chamada de um construtor da classe.  O corpo (ou código) do método construtor determina as ações associadas à inicialização de cada objeto criado.  Um construtor só é invocado quando um objeto é criado. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 33
  • 34.
    Exemplo de Criaçãode um Objeto public class Principal { public static void main (String[] args) { Conta c1 = new Conta( ); Chamada do construtor default c1.creditar(10.0); System.out.println(c1.obterSaldo()); Conta c2 = new Conta(50.0); Chamada do construtor com um argumento c2.creditar(10.0); System.out.println(c2.obterSaldo()); } c1 e c2 são objetos distintos e independentes } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 34
  • 35.
    Acesso aos Membrosde uma Classe  Os atributos e métodos também são chamados de membros de uma classe.  Em Java, a seguinte sintaxe é utilizada para se ter acesso aos membros da classe: <objeto>.<membro> ou <classe>.<membro>  Exemplos:  c1.creditar(10.0);  aluno1.matricula;  System.out; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 35
  • 36.
    Leituras Recomendadas  FJ-11: Java e Orientação a Objetos. Caelum Ensino e Soluções em Java. http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/  Complete Java 2 Certification - Study Guide. Sybex.  Java: Como Programar. Autores: H. M. Deitel e P. J. Deitel. Editora: Pearson – 6ª Edição. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 36