Skip to main content dev:Coelho

Programação Orientada a Objetos - Aula 03

Características da Linguagem Java

Dados de referência

No Java, para além dos tipos primitivos, temos os tipos de referência, sendo estes os que não armazenam o valor real da variável, mas uma refrência, um endereço para o local de memória onde se encontra o valor desta variável.

São estes:

  • Classes;
  • Interfaces;
  • Arrays;
  • Objetos

O que é ponteiro em outras linguagens, como c e c++, nós chamamos de referência em Java - que em grande parte serão os Objetos.

Tais tipos de dados de referência possuem algumas características, sendo a mais conhecida a Nullabilidade - onde objetos podem ter seu valor atribuído como nulo null.

Além da Nullabilidade, temos também Métodos e Atributos ligados à estes objetos, e Alocação Dinâmica, utilizando comumente a palavra reservada new para inicializar dinamicamente estes objetos.

Herança é uma característica destes tipos de referência, pois há um suporte - oriundo do paradigma de Orientação à objetos - para uma classe herdar campos e métodos de uma superclasse.

Comentários em Java

Existem três tipos de comentários em Java:

  1. Comentários de linha única
  2. Comentários de múltiplas linhas
  3. Comentários de Documentação

Linha Única

java code snippet start

System.out.println("Hello World!"); // Isto é um comentário de linha única

java code snippet end

Múltiplas linhas

java code snippet start

/* Isto é um comentário 
de várias linhas em Java*/

java code snippet end

Documentação

java code snippet start

/**
 * Representa um item no jogo, que pode ser coletado e utilizado pelo jogador.
 * Cada item possui um nome, uma descrição e um peso.
 *
 * @author SeuNome
 * @version 1.0
 * @since 1.0
 */
public class Item {

    private String nome;
    private String descricao;
    private double peso;

    /**
     * Constrói um novo item com nome, descrição e peso especificados.
     *
     * @param nome O nome do item.
     * @param descricao A descrição do item.
     * @param peso O peso do item em unidades do jogo.
     * @throws IllegalArgumentException Se o peso for menor ou igual a zero.
     */
    public Item(String nome, String descricao, double peso) {
        if (peso <= 0) {
            throw new IllegalArgumentException("O peso do item deve ser maior que zero.");
        }
        this.nome = nome;
        this.descricao = descricao;
        this.peso = peso;
    }
}

java code snippet end

  • Observação: Estes comentários de documentação são importantes para gerar, a partir do javadoc uma vasta documentação sobre seu projeto em páginas da web -> isto é, o javadoc gera arquivos html estilizados no padrão Java, para que você publique a documentação de sua aplicação.

Estruturas de controle

Basicamente mesmas coisas que no C

  • If;
  • For;
  • While;
  • Do..While;

Classe Scanner

Utilizada para ler tipos primitivos e Strings de fontes diversas, sobretudo muito utilizada nos programas iniciais que realizaremos via cli.

Dentro da classe (e por isso é importante o auxílio de uma IDE) há varios métodos a serem chamados, como o nextLine() e o nextInt(). A IDE já nos retorna estes métodos quando começamos a digitá-los, por isso sua importância.

Note que, ao digitar o Scanner pela primeira vez, a IDE também ajuda a importar as fontes corretas, pois tal classe pertence ao pacote java.utils. Se você estiver fora de uma IDE, vai ter que lembrar disso toda vez… então não compensa o crime.

Exercícios das aulas

Vocês podem acompanhar a execução dos exercícios no meu repositório do Github, que você pode acessar aqui: @GabrielCoelho


Programação Orientada a Objetos - Aula 01 Programação Orientada a Objetos - Aula 02