Você está na página 1de 2

www.tiexpert.

net O ponto de encontro do estudante de TI

Acesso a Membros e Mtodos


Vimos, at agora, como criar uma classe, definir um mtodo construtor, sobrecarregar mtodos e instnciar objetos. Nesse momento, vamos ver como acessar seus membros e mtodos. Os acessos a membros ou mtodos de uma classe so dados a partir do objeto instanciado usando um separador que o ponto (.). Portanto, para acessar qualquer membro da classe, basta que usemos o nome do objeto, mais um ponto e o nome do membro que queremos acessar. Ainda tomando como exemplo a classe TV j vista antes, vamos modificar dentro do programa dois atributos: os atributos canal e volume.
public class TV { int canal; int volume; boolean ligada; int tamanho; public TV(){ this.tamanho = 21; this.ligada = true; } public static void main (String args []){ TV minhaTV = new TV(); minhaTV.canal = 3; minhaTV.volume = 25; } }

Como percebemos construdo um objeto chamado minhaTV da classe TV com o tamanho de 21" e j ligada. Durante a execuo do programa modificamos diretamente seu canal e volume usando o objeto que instanciamos. Da mesma forma que acessamos um atributo, tambm podemos acessar um mtodo. No exemplo abaixo, criaremos o mtodo para aumentar volume da TV.
public class TV { int canal; int volume; boolean ligada; int tamanho; public TV(){ this.tamanho = 21; this.ligada = true; this.canal = 3; this.volume = 25; } public void aumentarVolume(){ this.volume += 5; } public static void main (String args []){ TV minhaTV = new TV(); minhaTV.aumentarVolume(); } }

Aqui, o objeto minhaTV comea com volume 25 e depois de chamar seu mtodo aumentarVolume() fica com 30.

http://www.tiexpert.net/ver.php?page=116

Pgina 1

www.tiexpert.net O ponto de encontro do estudante de TI


Algumas consideraes que devemos ter saber diferenciar funes de mtodos. Apesar da essncia de ambos ser a mesma coisa, funes so chamadas estaticamente, ou seja, ela pode ser chamada diretamente sem o intermdio de nenhum objeto. J os mtodos so chamados de dentro das classes, portanto, obrigatoriamente devemos ter um objeto instanciado para conseguirmos utilizar o mtodo. Vejamos a diferena:
public class TV { int canal; int volume; boolean ligada; int tamanho; public TV(){ this.tamanho = 21; this.ligada = false; this.canal = 0; this.volume = 0; } // mtodo da classe public void ligar(boolean ligada){ this.ligada = ligada; } // funo public static void estahLigada (TV objeto){ if (objeto.ligada) System.out.println ("est ligada"); else System.out.println ("no est ligada"); } public static void main (String args []){ TV televisao1 = new TV(); TV televisao2 = new TV(); // chamando o mtodo ligar televisao1.ligar(true); televisao2.ligar(false); System.out.print ("A televiso 1 "); // chamando a funo estahLigada estahLigada (televisao1); System.out.print ("A televiso 2 "); estahLigada (televisao2); }

Observemos que chamamos o mtodo ligar() de cada objeto, portanto, existem dois mtodos ligar distintos o mtodo ligar() da televisao1 e o mtodo ligar() da televisao2. A funo esttica, portanto, existe apenas uma funo estahLigada().
Autor: Denys William Xavier Este artigo est sob Licena Creative Commons Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

http://www.tiexpert.net/ver.php?page=116

Pgina 2

Você também pode gostar