Anda di halaman 1dari 29

1

Aula 2 Mtodos em
Java
Jose Antonio F. Macedo
Ramon Martins

Mtodos
Define o comportamento da classe.
Declarao:
class Ponto {

int x, y;

void mover ( int dx, int dy) {


x += dx;
y += dy;
}
}

Tipos de Mtodos
class Ponto
{

int a;
int x, y;

Mtodos
Construtores

Ponto()
{

Mtodo
Operacional

void mover ( int dx, int dy)


{
x += dx;
y += dy;
}
}
4

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;
}
}

Assinatura de um mtodo Construtor


Ponto (int x, int y)
No possui Nome do
mtodo
tipo de
deve ser
retorno
igual ao
nome da
classe

Parmetros

Uso de Construtores
Deve ser usado no momento da criao do objeto:
Ponto p1 = new Ponto(1,2);

p1
X=1
Y=2

Ponto p2 = new Ponto(3,4);

p2
X=3
Y=4

Mtodo Construtor Exemplo


class EditorGrafico
{

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

Podem receber parmetros que serviro para incializao dos


atributos da classe
Uma classe pode ter vrios mtodos construtores

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

Assinatura de um mtodo Operacional

float
Tipo de
Retorno

calcularSalario (int horas)


Nome

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

Jose Antonio F. Macedo

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

MTODOS GETTERS E SETTERS


Esses mtodos so utilizados mais como umas convenes, j
que no tm a mesma importncia dada a um mtodo
construtor, porm so uteis em vrias situaes.
Quando utilizamos o modificador de acesso private em algum
atributo, bloqueamos esse atributo para acesso direto a partir
do objeto, seja para leitura ou para modificao.
Atravs desses mtodos, podemos fazer as devidas alteraes
e manipulaes necessrias ao funcionamento do seu sistema.

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

Anda mungkin juga menyukai