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
ec++
, 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:
- Comentários de linha única
- Comentários de múltiplas linhas
- 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 arquivoshtml
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