Programação orientada a objetos e o Java (parte 4)
No artigo anterior vimos que os atributos permitem armazenar dados aos objetos. Agora veremos os métodos ou funções-membro, analisando a utilização de parâmetros e a possibilidade de um método devolver valor de retorno.
Parte 2: Métodos
Os métodos realizam operações sobre os atributos de uma classe ou
criam ações ou transformações possíveis para o objeto. Permitem
atribuir um caráter dinâmico aos objetos e em muitos casos podem
imitar o comportamento real do objeto.
A sintaxe dos métodos é composta de um especificador de acesso tal qual utilizamos na classe, um tipo de retorno, um nome, uma lista de parâmetros e um corpo. Segue o exemplo:
A sintaxe dos métodos é composta de um especificador de acesso tal qual utilizamos na classe, um tipo de retorno, um nome, uma lista de parâmetros e um corpo. Segue o exemplo:
especificadorAcesso tipoRetorno nomeMetodo (listaParametros) {
// corpo método
}
// corpo método
}
Vamos pensar novamente no nosso Radio*. Podemos assumir que ele está desligado (status = false) ou ligado (status = true), no mundo real para mudarmos o status do radio utilizamos um dispositivo como um interruptor, ou seja, este dispositivo envia uma mensagem que modifica o status. Uma classe para simular este comportamento seria:
Nesse código podemos notar que existe dois métodos, além do atributo "status" que identifica a condição do Radio.
Um método quando declarado como "public" pode ser utilizado externamente por outras classes que criem instâncias* do objeto Radio.
Observação: a notação UML facilita o entendimento dos métodos, procure fontes sobre o assunto para aprimorar seus estudos.
Para utilizarmos um método usamos a seguinte sintaxe:
nomedoObjeto.nomeDoMetodo(argumentos);
Sendo assim podemos utilizar os métodos ligar e desligar utilizando os trechos do código abaixo, em que "objeto" é o nome da variável objeto que se refere a uma instância da classe Radio.
objeto.ligar();
objeto.desligar();
A seguir um código mais completo fazendo a utilização dos métodos da classe Radio.
// TesteRadio.java
public class TesteRadio {
static public void main (String args[]) {
Radio sharp = new Radio();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
sharp.ligar();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
sharp.desligar();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
}
}
public class TesteRadio {
static public void main (String args[]) {
Radio sharp = new Radio();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
sharp.ligar();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
sharp.desligar();
System.out.println("Radio criado.\n" +
"status=" + sharp.status);
}
}
Nesse código nós instanciamos um objeto relacionando ele com a classe Radio, que é "public", logo em seguida mostramos o estado inicial do objeto e após isso utilizamos os métodos modificando o estado do atributo do objeto "sharp". Agora compile o código com o javac** salvando o nome do arquivo como TesteRadio.java e no mesmo diretório deve conter a classe Radio.
Referências:
* Artigos anteriores.
** http://java.sun.com/j2se/1.4.2/download.html