Você está na página 1de 12

Implementao Orientada a

Objetos Aula 04
Mtodos, parmetros e retorno

Prof. Danielle Martin/Marcia


Bissaco

Universidade de Mogi das Cruzes


2015-02
Mtodos

Mtodos so as operaes disponveis no contexto de


uma classe
Ex:

public class Calculadora {

public double somar (double x, double y) {

double resultado;
resultado = x + y;
return resultado;
}
}
Declarao de um mtodo

A declarao de um mtodo deve seguir a seguinte


estrutura:

[<modificadores>] <tipo_retorno> <nome> ([<lista_parametros>]){


[<instrucoes>]
}
Declarao de um mtodo

Ex:

Nome do mtodo
Modificador Tipo de retorno
de acesso Lista de parmetros
(vazia)
public void imprimirAloMundo() {

System.out.println(Alo Mundo);

}
Assinatura de um mtodo

Damos o nome de assinatura do mtodo linha de declarao do


mesmo, que contm as informaes:

Modificadores: indicam, por exemplo, a visibilidade. Um mtodo pode


ser public, private ou protected

Tipo de retorno: um mtodo pode ou no retornar um valor. Na


assinatura do mtodo deve ser informado o tipo da varivel retornada
(void significa sem retorno)

Nome do mtodo: nome identificador do mtodo

Lista de parmetros: quais parmetros devem ser passados para o


mtodo quando ele for chamado
Assinatura de um mtodo

Ex:

Assinatura do mtodo

public void imprimirAloMundo() {

System.out.println(Alo Mundo);

}
Chamada de um mtodo

Quando um mtodo for chamado por outra classe, a chamada do


mtodo deve estar em conformidade com a assinatura.

public class Mensagem {

public void imprimeAloMundo() {


System.out.println(Alo Mundo);
}
}

public class Aplicacao {

public static void main(String[] args) {

Mensagem objMensagem;
objMensagem = new Mensagem();

objMensagem.imprimeAloMundo();

}
}
Chamada de um mtodo

Se a assinatura do mtodo for modificada, a chamada do mtodo


deve continuar em conformidade:

public class Mensagem {

public void imprimeMensagem(String textoMensagem) {


System.out.println(textoMensagem);
}
}

public class Aplicacao {

public static void main(String[] args) {

Mensagem objMensagem;
objMensagem = new Mensagem();

objMensagem.imprimeMensagem(Alo Mundo);

}
}
Retorno de um mtodo

O tipo de retorno void na assinatura de um mtodo indica que ele


no ter retorno.
Para todos os outros tipos de retorno, a instruo return dever ser
utilizada para retornar um valor do tipo especificado.
Ex:

public class Mensagem {

public String retornaMensagem(){


return Alo Mundo;
}
}
Retorno de um mtodo

Outros exemplos:

public class ClasseExemplo {

public double metodoA(){


return 5.2;
}

public int metodoB(){


int valor = 5;
return valor;
}

public int metodoC(int numero){


int resto = numero%2;
return resto;
}

public boolean metodoD(int numero){


boolean isPar = numero%2==0;
return isPar;
}
Retorno de um mtodo : exemplo 1

Em mtodos que possuem tipo de retorno diferente de void, pode-se


recuperar o valor retornado no momento da chamada. Exemplo:

//salvar em um arquivo como: Mensagem.java

public class Mensagem {


public String retornaMensagem(){
return Alo Mundo;
}
}

//salvar em outro arquivo como: Aplicacao.java


public class Aplicacao {

public static void main(String[] args) {

Mensagem objMensagem;
objMensagem = new Mensagem();

String textoMensagem = objMensagem.retornaMensagem();


System.out.println(A mensagem : + textoMensagem);
Retorno de um mtodo: exemplo 2
Salvar no arquivo: Aplicacao.java

public class Aplicacao {


Salvar no arquivo: ClasseExemplo.java
public static void main(String[] args) {
public class ClasseExemplo {

ClasseExemplo objTeste;
public double metodoA(){
objTeste = new ClasseExemplo();
return 5.2;
}
double valor = objTeste.metodoA();

public int metodoB(){


int numero;
int valor = 5;
numero = objTeste.metodoB();
return valor;
}
System.out.println(O resto da divisao
por 2 + objTeste.metodoC(numero));
public int metodoC(int numero){
int resto = numero%2; if (objTeste.metodoD(numero)) {
return resto; System.out.println(O numero
} par);

public boolean metodoD(int numero){ } else {


boolean isPar = numero%2==0; System.out.println(O numero
return isPar; impar);
} }
} }
}