Buscar

POO 11 metodos comentarios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MÉTODOS E 
COMENTÁRIOS
Thaís Alves Burity Rocha
Agenda
 Métodos
 Retorno
 Variáveis locais
 Parâmetros
 Argumentos
 Sobrecarga
 Comentários
 Linha
 Bloco
 Javadoc
Métodos
Métodos
 Proveem a separação de tarefas em unidades
auto-contidas
 São declarados uma única vez e são reusados em
diferentes partes do sistema, inclusive por outros 
métodos
 Todos os objetos de uma mesma classe podem
executar os mesmos métodos
 O projeto dos métodos influencia na facilidade de 
entendimento, manutenção e reuso
Métodos
 Métodos constituem uma forma de manipular
objetos
 Execução
 Passagem de parâmetros
 Métodos não static podem alterar o estado dos 
objetos, acessando e modificando o valor de seus
atributos diretamente
 Métodos static proveem funcionaliades de propósito
geral
 Métodos podem receber valores e retornar valores
Retorno de Métodos
 Quando o método termina de executar, ele retorna
o controle da execução para quem o invocou
 Esse retorno pode acontecer com ou sem valores
public static void main(String[] args){
Conta conta1 = new Conta(“11140-6”,400);
Conta conta2 = new Conta(“11266-4”,0);
conta1.creditar(500);
conta1.transferir(conta2,100);
}
int somar(int a, int b){
return a + b;
}
Se o método retorna 
um valor, este precisa 
ser significativo
Variáveis Locais
 Possuem a mesma capacidade de armazenamento
que os atributos
 Mas são declaradas dentro de um método ou
construtor (ou ainda em blocos de comandos dentro
destes, como já visto)
 Só existem durante o tempo que o método ou
construtor é executado
 Não são inicializadas automaticamente
Variáveis Locais: Utilidade
 Armazenar resultados temporários que serão
utilizados depois
 Armazenar resultados que serão utilizados mais de 
uma vez
 Melhorar a legibilidade do método ou construtor, 
quebrando uma expressão grande em expressões
menores
Parâmetros
 Na declaração do método, os valores que podem
ser passados são denominados parâmetros
 Trata-se de variáveis locais
 Só são válidas dentro do método
 Como toda variável, possuem tipo e nome
 Só devem ser definidos se necessário
void transferir(Conta c, double valor){
this.debitar(valor); 
c.creditar(valor);
}
Argumentos
 Na chamada do métodos, os valores passados são
denominados argumentos
 Valores são atribuídos na ordem em que são passados
 O tipo do argumento deve ser compatível com o tipo
do parâmetro
 Se um método define parâmetros, a chamada do 
método requer a passagem de argumentos
 A menos que seja um var-arg
Conta conta1 = new Conta(“11140-6”,400);
Conta conta2 = new Conta(“11266-4”,0);
conta1.transferir(conta2,100);
Passagem de Primitivos para Métodos
 Quando a variável é de tipo primitivo, na verdade
é passada uma cópia do valor
//Suponha o método na classe Conta
void creditar(double val){
saldo = saldo + val;
val = 0;
}
public static void main(String[] args){
Conta conta = new Conta();
double valor = 110.50;
System.out.println(valor);
conta.creditar(valor);
System.out.println(valor);
}
A variável valor
não é alterada 
após a execução 
do método creditar
Passagem de Objetos para Métodos
 No caso de variável de referência, também é 
passada uma cópia do valor
 O valor é o endereço do objeto no Heap
 Aliasing
 As modificações que um método realiza sobre um 
objeto são permanentes
 Em Java só existe passagem de parâmetro por
valor (ou cópia)
Passagem de Objetos para Métodos
public class Conta{
public void transferir(Conta c,double val){
this.debitar(val);
c.creditar(val);
}
public static void main(String[] args){
Conta conta1 = new Conta(300);
Conta conta2 = new Conta();
double valor = 110.50;
conta1.transferir(conta2, valor);
}
}
DEPOIS de transferir:
conta1.saldo = 189.50
conta2.saldo = 110.50
valor = 110.50
ANTES de transferir:
conta1.saldo = 300
conta2.saldo = 0
valor = 110.50
Passagem de Objetos para Métodos: 
Cuidado!
static void metodo1(){
Conta conta = new Conta(“1234-5”, 100);
metodo2(conta);
}
static void metodo2(Conta c){
c.creditar(200);
c = new Conta(“1234-6”, 1000);
}
Imagine que metodo1() é chamado. O que acontece?
Sobrecarga de Métodos (Overloading)
 Ter mais de um método com mesmo nome, porém 
com parâmetros diferentes, em uma mesma classe 
 Já vimos com construtores (aqui é a mesma coisa)
 Utilidade: Flexibilidade
 Regras: O novo método…
 Deve mudar a lista de argumentos
 Pode mudar o tipo de retorno
 Pode mudar o modificador de acesso
Sobrecarga de Métodos
/* vamos supor que a classe Conta definisse outro 
metodo creditar()*/
public void creditar(int v){
saldo += v;
}
---------------------------------------------------
Conta c = new Conta(“21.342-7”,470.50,0.01;
c.creditar(50); //método que recebe int
c.creditar(100.0); //método que recebe double
A versão do método a ser executada é definida em tempo 
de compilação, pelos argumentos passados
Comentários
Comentários
 No geral, servem para dar informação útil sobre o 
código
 Explicar o funcionamento de um dado algoritmo
 As entradas e saídas de métodos
 O significado de uma dada variável
 Qualquer coisa cujo entendimento não seja óbvio com 
base apenas nas boas práticas
Tipos de Comentário
 Comentários de uma linha
 Indicados por //
 Comentários de bloco
 Delimitados por /* e */
 Aparecem na cor verde
// este é um comentário de uma linha
/* Este é um comentário de um bloco
* em java
*/
Documentação
 Quando o objetivo é disponibilizar uma classe para 
uso, é fundamental ter uma documentação
 É o caso da API de Java
 O usuário da classe precisa saber como utilizar, em
particular quando não se tem acesso ao código-fonte
 Comentários podem ser usados para fins de 
documentação
Tipos de Comentário
 Comentários em bloco para documentação
 Delimitados por /** e */
 Aparecem na cor azul
 É possível gerar um arquivo html com o conteúdo
usando a ferramenta javadoc
/** Este é um comentário de um bloco
* em java
*/
Javadoc
 Para tornar a documentação mais organizada, o 
Javadoc utiliza marcadores (tags) especiais para 
formatar a informação
 Comentários gerais
 @deprecated: adiciona um comentário de que a classe, 
método ou variável deveria não ser usada
 @since: descreve a versão do produto quando o 
elemento foi adicionado
 @version: descreve a versão do produto
Javadoc
 Comentários de classes e interfaces
 @author: autor do elemento
 @version: número da versão atual
 Comentários de métodos
 @param: descreve os parâmetros de um método 
acompanhado por uma descrição
 @return: descreve o valor retornado por um método
Javadoc: Exemplo
/**
* Essa classe mantém a hora no formato de 24 horas.
* @author Deitel & Associates, Inc.
* @version 1.05
*/
public class Time{
…
/**
* Construtor Time
* @param h a hora
* @param m o minuto
* @param s o segundo
*/
public Time(int h, int m, int s){
setTime( h, em, s );// valida hora
}
}
Observe que o comentário deve vir antes
do elemento ao qual está associado
Javadoc
 O Eclipse tem uma funcionalidade para gerar a 
documentação automaticamente
 Project > Generate Javadoc
 Vamos utilizar para a classe Time
 Para maiores informações
http://www.oracle.com/technetwork/java/javase/
documentation/index-137868.html

Outros materiais