Métodos
Variáveis de instância e métodos são componentes das classes.
A classe Vehicle contém dados, mas não métodos.
A maioria das classes terá métodos para tratar e acessar os dados.
Outras partes do programa interagem com uma classe principalmente por seus métodos.
Um método contém uma ou mais instruções e deve executar apenas uma tarefa.
Cada método tem um nome, que é usado para chamá-lo.
O nome main() está reservado para o método que inicia a execução do programa.
Não use palavras-chave Java para nomear métodos.
A convenção para representar métodos em texto é usar parênteses após o nome.
Exemplo: getval() para distinguir nomes de variáveis de nomes de métodos.
tipo-ret: especifica o tipo de dado retornado pelo método, podendo ser qualquer tipo válido, inclusive tipos de classe criados pelo usuário.
Se o método não retornar um valor, o tipo de retorno deve ser void.
nome: especifica o nome do método, sendo qualquer identificador válido que não esteja em uso no escopo atual.lista-parâmetros: sequência de pares tipo e identificador, separados por vírgulas. Parâmetros recebem valores dos argumentos passados ao método quando chamado.
Se o método não tiver parâmetros, a lista estará vazia.
Adicionando um método à classe Vehicle
Os métodos de uma classe tratam e dão acesso aos dados da classe.
O método main() dos exemplos anteriores calculava a autonomia de um veículo, mas esse cálculo deve ser feito pela própria classe Vehicle.
A autonomia de um veículo depende da capacidade do tanque de combustível e da taxa de consumo, valores encapsulados pela classe Vehicle.
Adicionar um método que calcule a autonomia melhora a estrutura orientada a objetos.
Para adicionar um método a Vehicle, especifique-o dentro da declaração da classe.
O método range() calcula e exibe a autonomia do veículo multiplicando fuelcap por mpg.
minivan.range() chama o método range() em minivan, exibindo sua autonomia.
sportscar.range() chama o método range() em sportscar, exibindo sua autonomia.
As variáveis de instância fuelcap e mpg são referenciadas diretamente dentro do método range() sem o uso do operador ponto, pois o método é chamado em relação a um objeto da classe Vehicle.
A saída do programa é:
Minivan can carry 7. Range is 336
Sportscar can carry 2. Range is 168