Aula 2 Mtodos em
Java
Jose Antonio F. Macedo
Ramon Martins
Mtodos
Define o comportamento da classe.
Declarao:
class Ponto {
int x, y;
Tipos de Mtodos
class Ponto
{
int a;
int x, y;
Mtodos
Construtores
Ponto()
{
Mtodo
Operacional
Mtodos Construtores
Devemos usar os mtodos construtores quando queremos
atribuir valores aos atributos de um objeto no momento de
sua criao
class Ponto {
int x=0;
int y=0;
{
Pontothis.x
(int x, int= y)x;
Mtodo Construtor
this.y = y;
}
}
Parmetros
Uso de Construtores
Deve ser usado no momento da criao do objeto:
Ponto p1 = new Ponto(1,2);
p1
X=1
Y=2
p2
X=3
Y=4
public criarPontos ()
{
Ponto p1, p2;
p1 = new Ponto (1,2);
p2 = new Ponto (3,4);
}
}
Construtor Padro
A linguagem Java declara um construtor padro, vazio, que no
recebe nenhum parmetro
Quando declaramos um novo construtor, esse construtor
padro deixa de existir e substitudo pelo novo construtor
Mtodos Construtores
Usados na criao de um objeto atravs do comando new
Possuem o mesmo nome da classe
10
Mtodos Operacionais
Implementam as funes de uma classe
Possuem sintaxe semelhante sintaxe de definio das
funes de um programa procedural
Determinam o comportamento da classe e a troca de
mensagens com outras classes
11
Mtodos Operacionais
class Funcionario
{ String nomeFunc;
float salario;
...
float calcularSalario (int horas)
{
float salMes = 0;
if (horas < 220)
{
salMes =(salario/220)*horas;
}
return salMes;
}
}
...
Assinatura
Corpo
Retorno
12
float
Tipo de
Retorno
Parmetro
13
Exemplo
class ProgramaPrincipal
{
public static void main (String arg[])
{ float sal;
Funcionario func;
func = new Funcionario(Juca,2200);
sal = func.calcularSalario(80);
System.out.println (sal);
}
}
func
sal = func.calcularSalario(80);
Executando
o Mtodo
calcularSalario da
classe Funcionario
nomeFunc = Juca
salario = 2200
----------------calcularSalario(horas)
sal = (salario/220)*horas;
sal = (2200/220)*80
sal = 800
14
Sobrecarga de Mtodos
Sobrecarregar um mtodo significa definir dois ou mais
mtodos com o mesmo nome, porm com assinaturas
diferentes:
Assinatura diferente pode ser: tipo de retorno, nmero ou tipos
de parmetros diferentes.
15
Sobrecarga de
Mtodos Construtores
Exemplo:
Class Ponto {
int x=0;
int y=0;
Ponto () {
}
Ponto (int x, int y) {
this.x=x;
this.y=y;
}
}
LINGUAGEM JAVA
16
Sobrecarga de
Mtodos Construtores
A sobrecarga de construtores visa definir formas diferentes de
criar um objeto
Exemplo:
Ponto p1 = new Ponto();
//p1 est em (0,0)
Ponto p2 = new Ponto(1,2);
//P2 est em (1,2)
17
Encadeamento de
Mtodos Construtores
Um construtor pode chamar outro construtor, isto se chama
encadeamento de mtodos construtores
Para isto necessrio usar a seguinte construo: this(..). E
esta chamada dever ser a primeira linha do construtor.
18
Encadeamento de
Mtodos Construtores
Exemplo:
Class Ponto {
int x=0;
int y=0;
Ponto () {
this(0,0);
}
Ponto (int x, int y) {
this.x=x;
this.y=y;
}
}
19
Sobrecarga de
Mtodos Operacionais
A sobrecarga pode ser feita igualmente aos mtodos
construtores
Uma boa prtica usar a sobrecarga, somente, em mtodos
que possuam a mesma funcionalidade.
20
Sobrecarga de
Mtodos Operacionais
Exemplo:
class Ponto {
...
void mover (int dx, int dy){
x += dx;
y += dy;
}
void mover (int raio, float ang){
x += raio*Math.cos(ang);
y += raio*Math.sen(ang);
}
}
21
22
MTODO GET
O mtodo get utilizado para acessarmos o valor de um
atributo para a leitura.
23
MTODO GET
public class Ponto {
private int pX;
private int pY;
public Ponto(int arg1, int arg2){
pX = arg1;
pY = arg2;
}
int getX() {
return pX;
}
int getY() {
return pY;
}
}//fim da Classe Ponto
24
MTODO GET
class Exemplo{
public static void main ( String []args ) {
Ponto p = new Ponto(10, 20);
int temp = p.pX; //Forma Incorreta
int temp = p.getX(); //Forma Correta
System.out.println(temp);
}//fim do Main
} //fim da classe Exemplo
25
MTODO SET
O mtodo set utilizado para acessar o valor de um atributo
com a finalidade de alter-lo.
26
MTODO SET
public class Ponto {
private int pX;
private int pY;
public Ponto(int arg1, int arg2){
pX = arg1;
pY = arg2;
}
void setX( int x ) {
pX = x;
}
void setY( int y ) {
pY = y;
}
} //fim da classe Ponto
27
MTODO SET
class Exemplo{
public static void main ( String []args ) {
Ponto p = new Ponto(10, 20);
p.pX = 12; //Forma Incorreta
p.setX(12); //Forma Correta
}//fim da main
} //fim da classe
28
Obrigado!
ramonmartins.campos@gmail.com
renansampaiovrl@gmail.com
www.petcomp.ufc.br
29