Prévia do material em texto
Introdução a Linguagem Java
Prof. Júlio César Andrade
Tema da aula:
Por que aprender Java?
● Amplamente utilizada em desenvolvimento
web, mobile (Android), desktop, IoT, big
data, etc;
● Grande comunidade e mercado de
trabalho.
2
Acesse esse slide no link:
bit.ly/revisaopoo
3
Prática para quem está começando:
bit.ly/poojulio20242
4
Prática para quem está já sabe:
bit.ly/poopratica2
5
Orientação a Objetos:
Abstração
6
7
Programação orientada a objetos
Abstração
Po
lim
or
fis
m
o
En
ca
ps
ul
am
en
to
H
er
an
ça
8
Modelando o mundo real
PROCESSO DE ABSTRAÇÃO E REPRESENTAÇÃO
Identidade: O que é?
Propriedades: Quais as características?
Comportamentos: Quais ações sofre ou
executa?
9
Modelando o mundo real
PROCESSOS DE ABSTRAÇÃO E REPRESENTAÇÃO
Identidade: Gato.
Propriedades: Cor do pêlo, cor dos olhos e peso.
Comportamentos: Miar e rosnar.
10
Modelando o mundo real
PROCESSOS DE ABSTRAÇÃO E REPRESENTAÇÃO
11
Modelando o mundo real
PROCESSOS DE ABSTRAÇÃO E REPRESENTAÇÃO
Abstração: A abstração é um princípio-chave da POO que
permite representar objetos do mundo real no software,
focando nos aspectos essenciais e relevantes;
Representação: É a implementação concreta da abstração,
onde você define as classes, os atributos e os métodos que
representam os objetos e as interações entre eles.
Conceitos fundamentais
Classe: É o modelo para criar objetos.
Define comportamentos e atributos.
12
Todos os gatos seguem esse modelo.
Conceitos fundamentais
Objeto: Objetos são representações concretas
(instâncias) de uma classe.
13
Diferentes tipos de gatos, mas todos são gatos.
Conceitos fundamentais
Métodos: Representam o comportamento ou
as ações que um objeto pode executar.
14
Morder
Comer
Miar
Resumo
✔ Classe → Define um modelo de objeto.
✔ Atributos → Variáveis que armazenam características do objeto.
✔ Métodos → Funções dentro da classe que definem o
comportamento do objeto.
✔ Objetos → São instâncias de uma classe, representando elementos
do mundo real.
15
Java
16
Tipos de Dados em Java
Os tipos de dados definem o tipo de valor
que uma variável pode armazenar em
Java. Existem dois grupos principais:
● Tipos Primitivos
● Tipo de Referência (Objeto)
17
Tipos Primitivos
Os tipos primitivos são os
mais básicos e
armazenam valores
diretamente na memória.
18
Tipo de Referência (Objeto)
Além dos tipos primitivos, Java possui
tipos de referência que armazenam a
localização de objetos na memória.
Exemplo de String (tipo referência):
String nome = "Java";
19
Exemplo
20
Saída de Dados (Output)
Para exibir informações no console, utilizamos a classe
System.out.
Principais Métodos
System.out.print() → Exibe sem quebra de linha.
System.out.println() → Exibe com quebra de linha.
System.out.printf() → Formata a saída de texto.
21
22
Classes em java
Uma classe é um modelo ou estrutura que define um objeto.
Ela contém atributos (características) e métodos
(comportamentos).
23
24
Método construtor
Em Java, um método construtor é um método especial
usado para inicializar objetos quando eles são criados. Ele
tem o mesmo nome da classe e não possui um tipo de
retorno (nem void).
📌 Função do Construtor:
● Inicializa os atributos do objeto.
● Pode receber parâmetros para definir valores no
momento da criação do objeto.
● Se nenhuma definição for feita, Java cria um
construtor padrão automaticamente.
25
Sintaxe do Construtor
26
27
Criando um objeto
Em Java, instanciar um objeto significa criar um novo
objeto a partir de uma classe. Quando instanciamos um
objeto, estamos reservando um espaço na memória para
armazenar seus atributos e métodos.
A criação de um objeto é feita usando a palavra-chave
new, que chama o construtor da classe.
28
29
O que é esse método main em Java?
O método main é o ponto de entrada
de um programa Java. Ele é
executado primeiro quando rodamos
um código e serve como o início da
execução do programa.
30
Sintaxe
✔ public → Permite que o método seja acessível de qualquer lugar.
✔ static → Permite que o método seja executado sem precisar criar um objeto da classe.
✔ void → Indica que o método não retorna nenhum valor.
✔ String[] args → Representa um array de argumentos que podem ser passados na execução do programa.
31
Estrutura de Métodos em Java
Em Java, os métodos são usados para
definir comportamentos ou ações que
podem ser executadas pelos objetos ou
pela própria classe.
32
() {
// Código do método
}
Componentes principais:
1. Modificador de Acesso: Define a visibilidade do método (ex: public, private).
2. Tipo de Retorno: Indica o tipo de dado que o método vai retornar (ex: void, int, String).
Se o método não retornar nada, usa-se void.
3. Nome do Método: Nome pelo qual o método é chamado. Deve seguir as convenções de
nomenclatura (primeira letra minúscula, camelCase).
4. Parâmetros (opcionais): Dados que o método recebe para realizar sua tarefa. Ex: int x,
int y.
5. Corpo do Método: Bloco de código entre as chaves {} que define o comportamento do
método.
33
34
Modificadores de acesso
35
Ocultamento de informações em Java
Modificador Classe Mesmo pacote Subclasse de
outro pacote
Outro pacote
Public
Protected
Default
Private
Entrada de Dados (Input)
Para capturar dados do usuário, usamos a classe
Scanner do pacote java.util.
Antes de utilizá-lo, precisamos importá-lo:
import java.util.Scanner;
36
Principais métodos da classe Scanner
next() – Lê a próxima palavra da entrada até encontrar um espaço.
nextLine() – Lê toda a linha até encontrar uma quebra de linha (\n).
nextInt() – Lê um número inteiro (int).
nextDouble() – Lê um número decimal (double).
nextFloat() – Lê um número decimal (float).
nextLong() – Lê um número inteiro longo (long).
nextShort() – Lê um número inteiro curto (short).
nextByte() – Lê um número no formato byte.
nextBoolean() – Lê um valor booleano (true ou false).
37
Fique atento
Quando se usa um nextInt(), nextDouble(), etc., o
nextLine() pode "pular" uma entrada. Isso ocorre porque os
métodos nextInt() e similares não consomem a quebra de
linha (\n), então a próxima chamada de nextLine() pode acabar
pegando apenas essa quebra.
Solução
scanner.nextLine(); // Consome a quebra de linha
Adicione esse trecho depois de usar um nextInt(), por exemplo e
antes de usar um nextLine(), por exemplo.
38
39
Os métodos GET e SET
Em Java, os métodos Get e Set são usados para
acessar e modificar os atributos de uma classe.
40
Os métodos GET e SET
41
Os métodos GET e SET
42
Os métodos GET e SET
43
Introdução a UML
44
UML (Unified Modeling Language)
● UML é uma linguagem padrão de
modelagem usada para visualizar,
documentar e projetar sistemas de
software.
● Ela ajuda a representar a estrutura
e o comportamento de um sistema
antes da implementação.
45
Representando classes
46
Gato
- nome: String
- idade: int
- cor: String
+ Gato(nome: String, idade: int, cor: String)
+ miar(): void
+ dormir(): void
+ getNome(): String
+ setNome(nome: String): void
Explicação dos Símbolos
Ocultamento de informações em Java
47
Public Protected Default Private
+ # ~ -
Orientação a Objetos:
Herança
48
49
Programação orientada a objetos
Abstração
Po
lim
or
fis
m
o
En
ca
ps
ul
am
en
to
H
er
an
ça
Herança
● Herança é um princípio da programação
orientada a objetos (POO) que permite
que uma classe (subclasse) herde
atributos e métodos de outra classe
(superclasse).
● Isso promove reutilização de código e
facilita a manutenção.
50
Herança
51
52
53
54
Exemplo 2
55
Dúvida comum
Uma classe em java pode herdar de mais de uma classe?
56
Orientação a Objetos:
Polimorfismo
57
Conceitos fundamentais
Polimorfismo: O polimorfismo em POO refere-se à
capacidade de tratar objetos derivadosde uma mesma
superclasse de maneira polimórfica e invocar métodos
com o mesmo nome, mas com comportamento diferente.
58
59
60
Qual das afirmações está correta em relação ao polimorfismo e
a sobrescrita de métodos em Java?
o O polimorfismo permite alterar a quantidade de parâmetros de um método na
sobrescrita de métodos.
O polimorfismo não permite alterar a quantidade de parâmetros de um método
na sobrescrita de métodos.
A alteração da quantidade de parâmetros na sobrescrita de métodos depende
da configuração do compilador Java.
A
B
C
61
o O polimorfismo permite alterar a quantidade de parâmetros de um método na
sobrescrita de métodos.
O polimorfismo não permite alterar a quantidade de parâmetros de um método
na sobrescrita de métodos.
A alteração da quantidade de parâmetros na sobrescrita de métodos depende
da configuração do compilador Java.
A
B
C
62
Qual das afirmações está correta em relação ao polimorfismo e
a sobrescrita de métodos em Java?
Estrutura básicas em
Java
63
Estruturas de controle em Java
IF e ELSE
64
Estruturas de controle em Java
Switch
65
Estruturas de
controle em Java
Switch
66
Em Java, switch é uma estrutura
de controle que permite avaliar
uma expressão e executar
blocos de código com base no
valor dessa expressão.
Estruturas de
controle em Java
Switch
67
Em Java, switch é uma estrutura
de controle que permite avaliar
uma expressão e executar
blocos de código com base no
valor dessa expressão.
Estruturas de repetição em Java
WHILE
68
Estruturas de repetição em Java
FOR
69
Controlando loops
Apesar de termos condições booleanas em nossos laços, em algum momento, podemos
decidir interromper o loop por algum motivo especial sem que o restante do laço seja
executado.
70
Controlando loops
Apesar de termos condições booleanas em nossos laços, em algum momento, podemos
decidir interromper o loop por algum motivo especial sem que o restante do laço seja
executado.
71
Obrigado! Até a próxima aula.
72
Obrigado!