Programação
› Algoritmo › C/C++ › Java
Web
› HTML/XHTML › JavaScript › PHP
Sistema Operacional
› Comandos de DOS › Windows › Linux › Mac/BSD
Office
› Word / Writer › Excel / Calc
Áreas do Site
› Download › Fórum › Blog
|
Acesso a Atributos e MétodosVimos, 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 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
Páginas Relacionadas |
Enquete
|