Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.tiexpert.net – O ponto de encontro do estudante de TI Acesso a Membros e Métodos Vimos, até agora, como criar uma classe, definir um método construtor, sobrecarregar métodos e instânciar objetos. Nesse momento, vamos ver como acessar seus membros e métodos. Os acessos a membros ou métodos de uma classe são 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 é construído um objeto chamado minhaTV da classe TV com o tamanho de 21" e já ligada. Durante a execução do programa modificamos diretamente seu canal e volume usando o objeto que instanciamos. Da mesma forma que acessamos um atributo, também podemos acessar um método. No exemplo abaixo, criaremos o método 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 começa com volume 25 e depois de chamar seu método aumentarVolume() fica com 30. http://www.tiexpert.net/ver.php?page=116 Página 1 www.tiexpert.net – O ponto de encontro do estudante de TI Algumas considerações que devemos ter é saber diferenciar funções de métodos. Apesar da essência de ambos ser a mesma coisa, funções são chamadas estaticamente, ou seja, ela pode ser chamada diretamente sem o intermédio de nenhum objeto. Já os métodos são chamados de dentro das classes, portanto, obrigatoriamente devemos ter um objeto instanciado para conseguirmos utilizar o método. Vejamos a diferença: 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; } // método da classe public void ligar(boolean ligada){ this.ligada = ligada; } // função public static void estahLigada (TV objeto){ if (objeto.ligada) System.out.println ("está ligada"); else System.out.println ("não está ligada"); } public static void main (String args []){ TV televisao1 = new TV(); TV televisao2 = new TV(); // chamando o método ligar televisao1.ligar(true); televisao2.ligar(false); System.out.print ("A televisão 1 "); // chamando a função estahLigada estahLigada (televisao1); System.out.print ("A televisão 2 "); estahLigada (televisao2); } } Observemos que chamamos o método ligar() de cada objeto, portanto, existem dois métodos ligar distintos - o método ligar() da televisao1 e o método ligar() da televisao2. A função é estática, portanto, existe apenas uma função estahLigada(). Autor: Denys William Xavier Este artigo está sob Licença Creative Commons Para ver uma cópia desta licença, 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 Página 2
Compartilhar