NÍVEL 1 — Classe, Objeto, Atributo e Método
Exercício 1 — Identificando os conceitos
Considere o código:
public class Animal {
String especie;
double peso;
void comer() {
[Link]("O animal está comendo");
Perguntas:
O que é a classe?
O que são os atributos?
O que é o método?
Respostas explicadas:
Classe
Animal
Classe é o molde, o modelo.
É como dizer:
“Todo animal tem espécie, peso e come.”
Atributos
especie, peso
Atributos são características do animal.
Igual na vida real:
• espécie → vaca, cabra, galinha
• peso → 450kg, 60kg…
Método
comer()
Método é ação.
O que o animal FAZ.
Exercício 2 — Criando um objeto
Animal vaca = new Animal();
Pergunta:
O que é vaca?
Resposta:
Um objeto
Explicação simples:
• Classe = ideia
• Objeto = coisa real
Classe é “Animal”
Objeto é “essa vaca aqui”
NÍVEL 2 — Construtores (destravando de vez)
Exercício 3 — Criando uma colmeia corretamente
public class Colmeia {
int quantidadeAbelhas;
Você quer criar uma colmeia já informando a quantidade de abelhas.
Pergunta:
Qual código está correto?
A)
Colmeia c = new Colmeia();
[Link] = 10000;
B)
Colmeia c = new Colmeia(10000);
Resposta:
B, mas só funciona se houver construtor
Código correto com construtor:
public class Colmeia {
int quantidadeAbelhas;
public Colmeia(int quantidadeAbelhas) {
[Link] = quantidadeAbelhas;
Explicação como criança:
• O construtor é o nascimento do objeto
• Ele define como o objeto começa a vida
Igual a um bezerro já nascer com peso inicial
NÍVEL 3 — Visibilidade + Encapsulamento
Exercício 4 — Protegendo dados
Classe Galinha:
public class Galinha {
public int ovosPorDia;
}
Pergunta:
Isso está correto?
Resposta:
Não
Forma correta (encapsulada):
public class Galinha {
private int ovosPorDia;
public int getOvosPorDia() {
return ovosPorDia;
public void setOvosPorDia(int ovosPorDia) {
if (ovosPorDia >= 0) {
[Link] = ovosPorDia;
Explicação simples:
• private → ninguém mexe direto
• get → perguntar
• set → alterar com cuidado
Você não deixa alguém colocar -10 ovos
Exercício 5 — Verdadeiro ou Falso
Encapsulamento serve para esconder dados e proteger o sistema.
VERDADEIRO
NÍVEL 4 — Interação entre Objetos (muito importante!)
Exercício 6 — Animal e Veterinário
public class Veterinario {
public void examinar(Animal animal) {
[Link]("Examinando o animal");
Pergunta:
O que está acontecendo aqui?
Resposta:
Um objeto está usando outro objeto
Explicação simples:
• Veterinário não é animal
• Mas ele interage com o animal
Igual na vida real:
O veterinário recebe o animal para examinar.
Uso prático:
Animal vaca = new Animal();
Veterinario vet = new Veterinario();
[Link](vaca);
Isso é interação entre objetos.
NÍVEL 5 — Collections (listas de objetos)
Exercício 7 — Lista de animais
ArrayList<Animal> animais = new ArrayList<>();
Pergunta:
O que essa lista guarda?
Resposta:
Vários objetos do tipo Animal
Pense assim:
Uma lista de curral
Exercício 8 — Adicionando animais
[Link](new Animal());
[Link](new Animal());
Pergunta:
Quantos objetos existem agora?
Resposta:
2 objetos Animal
Cada new cria um animal novo.
Exercício 9 — Percorrendo a lista
for (Animal a : animais) {
[Link]();
O que acontece?
Resposta:
Todos os animais comem
Explicação simples:
• “Para cada animal no curral”
• “mande ele comer”
NÍVEL 6 — Tudo junto (MASTER )
Exercício 10 — Sistema simples de Apicultura
Classe Abelha
public class Abelha {
private String funcao;
public Abelha(String funcao) {
[Link] = funcao;
public void trabalhar() {
[Link]("Abelha " + funcao + " trabalhando");
Uso:
ArrayList<Abelha> colmeia = new ArrayList<>();
[Link](new Abelha("operária"));
[Link](new Abelha("rainha"));
for (Abelha a : colmeia) {
[Link]();
Aqui você usou:
✔ Classe
✔ Objeto
✔ Atributo
✔ Método
✔ Construtor
✔ Encapsulamento
✔ Collections
✔ Interação entre objetos
Tudo junto, sem mistério.