0% acharam este documento útil (0 voto)
28 visualizações22 páginas

Aula 5 - Java - Classes e Objetos

O documento aborda conceitos fundamentais de Programação Orientada a Objetos em Java, incluindo definições de classe, objeto, construtor e atributos. Ele também apresenta a sintaxe para a criação de objetos e métodos, além de exercícios práticos para reforçar o aprendizado. O material é voltado para estudantes do curso técnico em Informática para Internet.

Enviado por

Arthur Heger
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
28 visualizações22 páginas

Aula 5 - Java - Classes e Objetos

O documento aborda conceitos fundamentais de Programação Orientada a Objetos em Java, incluindo definições de classe, objeto, construtor e atributos. Ele também apresenta a sintaxe para a criação de objetos e métodos, além de exercícios práticos para reforçar o aprendizado. O material é voltado para estudantes do curso técnico em Informática para Internet.

Enviado por

Arthur Heger
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 22

CURSO TÉCNICO EM

INFORMÁTICA PARA INTERNET

Disciplina: Programação Orientada a Objetos


Prof. Roger Machado
[email protected]
Java
•Classe
◦ Classe é onde conceituamos o objeto

◦ É a essência do objeto

◦ Define os atributos e métodos

•Objeto
◦ Objeto é uma instância de uma classe

◦ Objetos semelhantes pertencem a mesma classe


IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 2
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 3
Java
•Operador new
◦ cria um novo objeto a partir de uma classe especificada (cria uma
instância)
◦ Retorna uma referência para esse objeto

new <tipo_classe> ([parametro, parametro, ...]


◦ [ ]= Opcionais

◦ < >= Identificadores e palavras reservadas

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 4


Java
•Passos
◦ Declarar variável, associando variável a tipo (classe)
◦ NomeClasse nomeVariável

◦ Ex.: Lampada lampada1

◦ Criar objeto (instanciar) e fazer variável referenciar o objeto


◦ Ex

◦ Lampada lampada1 = new Lampada();

◦ Lampada lampada2 = new Lampada();

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 5


Java
•Ao utilizar o operador new
◦ Novo objeto é alocado dinamicamente na memória, e todas as suas
variáveis de instancia são inicializadas com valores-padrão predefinidos
◦ null para variáveis objeto

◦ 0 para todos os tipos básicos (exceto boolean)

◦ false para boolean

◦ O construtor do novo objeto é ativado

◦ Após a execução do construtor (se estiver criado), o operador new retorna


uma referência (endereço de memória) para o objeto recém criado
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 6
Java
•Construtor
◦ Método com o mesmo nome da classe
◦ Não possui retorno
◦ Uma classe pode conter vários construtores com diferença na
quantidade e tipo dos parâmetros
◦ Se não houver pelo menos um construtor definido os atributos
recebem os valores padrões
◦ É chamado na execução do new
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 7
public class Pessoa {
String nome;
int rg, cpf;
public Pessoa(){
nome="";
rg=0;
cpf=0;
}
public Pessoa(String novoNome, int novoRg, int novoCpf)
{
nome = novoNome;
rg = novoRg;
cpf = novoCpf;
}
}

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 8


public class Pessoa {
...
public static void main(String[] args){
Pessoa pessoa1 = new Pessoa();
System.out.println(pessoa1.nome);
Pessoa pessoa2 = new Pessoa("Roger", 1234, 1234567890);
System.out.println(pessoa2.nome);
}
}

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 9


Java
•Atributos
◦ São as variáveis de instância

◦ Fazem parte de cada objeto (instância)

◦ Declarada fora dos métodos


◦ "Vivem" enquanto o objeto "viver“

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 10


Java
•Atributo this

•Todo objeto possui um atributo que é uma referência a ele mesmo

•Usado para acesso a membros do próprio objeto


◦ this.membro
class NomeClasse {
int x, y;
public void mover(int x,int y){
this.x = x;this.y = y;
}
}
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 11
Java
•Acessando um Método
◦ Utiliza o operador “.” (ponto)
◦ objeto.método();

◦ Ex.: lampada.acender();

◦ Executa o método em objeto

◦ Objeto deve existir

◦ A variável deve referenciar objeto válido (se null, ocorre erro)


IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 12
public class Lampada {
public boolean estadoLampada = false;
public void acenderLampada() {
estadoLampada= true;
}
public void apagarLampada() {
estadoLampada = false;
}
public boolean verEstadoLampada() {
return estadoLampada;
}
public static void main(String[] args) {
Lampada lampada1 = new Lampada();
boolean valorAtual = lampada1.verEstadoLampada();
System.out.println(valorAtual);
lampada1.acenderLampada();
System.out.println(lampada1.verEstadoLampada());
lampada1.apagarLampada();
System.out.println(lampada1.verEstadoLampada());
}
}

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 13


Java
•Métodos
◦ Deve ser informado se possui retorno (tipo) ou se é void (não tem
retorno)
◦ Passagem de parâmetros
◦ Devem ser informados o tipo e identificador dos parâmetros

◦ Funciona no método como uma variável normal


void sacar (double valorSacado) {
valor -= valorSacado;
}
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 14
Java
•Métodos
◦ Corpo do método:
◦ Implementa as operações do método

◦ Fica entre chaves {}

◦ Variáveis podem ser criadas

◦ Ela é dita local

◦ Não é pré-inicializada

◦ Só existe enquanto o método está em execução

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 15


Java
•Métodos
◦ É possível que uma Classe possua 2 métodos com o mesmo nome,
mas devem ter parâmetros diferentes (quantidade e/ou tipo)
◦ O nome que se dá a isso é sobrecarga

int calcularMedia(int nota1, int nota2){


return (nota1+nota2)/2;
}
double calcularMedia(double nota1, double nota2){
return (nota1+nota2)/2;
}
IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 16
Exercícios
•Crie uma classe Calculadora, onde a mesma terá 4 métodos
◦ somar, subtrair, dividir e multiplicar

•Todos os métodos recebem 2 valores do tipo double como


parâmetros, e retornam o resultado da operação
•Fazer o método main, onde deve ser criado um objeto da classe
Calculadora e mostrado o exemplo de cada um dos métodos
(escrever na saída o resultado da operação)

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 17


Exercícios
•Criar uma classe correspondente a uma Conta de Banco
◦ A classe terá como atributos nome, numero da conta, saldo

◦ Saldo inicial será de 100 reais


◦ Terá os métodos sacar, depositar, consultarSaldo,
consultarNome, alterarNome onde:

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 18


Exercícios
◦ sacar -> Diminui o valor sacado do valor do saldo

◦ depositar -> Soma o valor depositado com o valor do saldo

◦ consultarSaldo -> Retorna o valor do salto atual

◦ consultarNome -> Retorna o nome atual

◦ alterarNome -> Altera o nome cadastrado

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 19


Exercícios
◦ Criar uma nova classe que
◦ Vai conter o método main do java

◦ Dentro do main, cria um objeto da classe conta bancária, e logo em


seguida solicita para o usuário digitar um nome;
◦ Usar o valor digitado e alterar o valo da variável nome do objeto da Conta
Bancária, através do método Alterar Nome

◦ Após essas operações, criar um menu que exibirá 4 opções

◦ 1 – Sacar; 2 – Depositar; 3 – Consultar Saldo; 4 - Sair

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 20


Exercícios
◦ Se o usuário digitar 1 ou 2, então pedir para digitar o valor que irá
sacar/depositar, após realiza saque/depósito, exibir o novo saldo
◦ Se digitar 3, imprime o saldo atual
◦ Se digitar 4, sai da aplicação

◦ Observação
◦ Após ter realizado a tarefa de uma das opções do menu, exibe
novamente as opções ao usuário (não finaliza a aplicação, exceção
para a opção 4)

IFSUL - TÉCNICO EM INFORMÁTICA PARA INTERNET 21


CURSO TÉCNICO EM
INFORMÁTICA PARA INTERNET

Disciplina: Programação Orientada a Objetos


Prof. Roger Machado
[email protected]

Você também pode gostar