SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
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
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
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)Daniel Brandão
 

Mais procurados (20)

POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula8 diagrama sequencia
Aula8 diagrama sequenciaAula8 diagrama sequencia
Aula8 diagrama sequencia
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
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
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
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)
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Aula 9 - Estruturas Condicionais
Aula 9 - Estruturas CondicionaisAula 9 - Estruturas Condicionais
Aula 9 - Estruturas Condicionais
 

Destaque

POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
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
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresFelipe J. R. Vieira
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de AcessoElenilson Vieira
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classesfeiosanelma
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objetoGleyciana Garrido
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 
Exercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetosExercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetosRoberto Ferreira
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesAdriano Teixeira de Souza
 

Destaque (20)

POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
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
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e Vetores
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
Lista2
Lista2Lista2
Lista2
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de Acesso
 
Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
 
Lod law of demeter
Lod law of demeterLod law of demeter
Lod law of demeter
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Orientação a Objetos (2)
Orientação a Objetos (2)Orientação a Objetos (2)
Orientação a Objetos (2)
 
Tutorial javac
Tutorial javacTutorial javac
Tutorial javac
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
Exercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetosExercicios Analise e Desenvolvimento de projetos
Exercicios Analise e Desenvolvimento de projetos
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
 

Semelhante a Java OO Fundamentos

Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Introdução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaIntrodução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaHelio Henrique L. C. Monte-Alto
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoAnderson Ledo
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Romualdo Andre
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
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
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 

Semelhante a Java OO Fundamentos (20)

POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Aula2
Aula2Aula2
Aula2
 
Introdução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando JavaIntrodução à Programação Orientada a Objetos Usando Java
Introdução à Programação Orientada a Objetos Usando Java
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
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)
 
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de DesenvolvimentoPOO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
 
Java m01 - Nomenclaturas
Java   m01 - NomenclaturasJava   m01 - Nomenclaturas
Java m01 - Nomenclaturas
 
Java básico
Java básicoJava básico
Java básico
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 

Mais de Ludimila Monjardim Casagrande (8)

Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em JavaPOO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em JavaPOO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
 

Java OO Fundamentos

  • 1. Programação Orientada a Objetos 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 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
  • 13. Tipos Primitivos do Java  Tipos primitivos da linguagem Java e seus respectivos tamanhos em bits: Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 13
  • 14. 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
  • 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 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
  • 18. 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
  • 19. 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
  • 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 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 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