Java Orientado a Objetos: Métodos
A linguagem de programação Java é conhecida por seu modelo de programação orientada a objetos, onde o comportamento e a lógica de negócios são implementados por meio de métodos. Na prática, os métodos são essenciais para dar vida às classes e objetos, funcionando como ações que esses objetos podem realizar. Ao longo deste artigo, exploraremos os métodos na linguagem Java, utilizando exemplos práticos das classes DemonstracaoPoo
e Funcionario
do pacote com.mycompany.demonstracaopoo
.
Introdução aos Métodos
Em Java, um método é uma coleção de instruções que realiza uma tarefa específica e é executada quando chamada. Em um sentido mais amplo, um método é como uma função pertencente a uma classe ou a um objeto. Para ilustrar, vamos pensar nos métodos como as habilidades de um funcionário – a capacidade de trabalhar horas extras, calcular pagamentos e atualizar registros, por exemplo.
A Sintaxe de um Método Java
A sintaxe básica de um método em Java inclui o modificador de acesso (como public
ou private
), o tipo de retorno (que pode ser qualquer tipo de dado primitivo, uma classe, ou void
para métodos sem retorno), o nome do método e uma lista opcional de parâmetros entre parênteses. A estrutura típica de um método é:
1 2 3 4 5 |
modificadorDeAcesso tipoRetorno nomeDoMetodo(tipoParametro1 parametro1, tipoParametro2 parametro2) { // Corpo do método } |
Um modificador de acesso define a visibilidade de um método para outras classes. O tipo de retorno especifica o tipo de dado que o método irá retornar. Se o método não retornar nenhum valor, o tipo será void
. O nome do método segue as convenções de nomenclatura e deve ser descritivo. Os parâmetros (opcionais) são os dados de entrada que o método pode usar durante sua execução.
Métodos na Prática
Na classe Funcionario
do pacote com.mycompany.demonstracaopoo
, o código fonte completo da classe pode ser encontrado AQUI.encontramos métodos que executam diversas tarefas. Por exemplo, o método sethorasTrabalhadas
é utilizado para definir a quantidade de horas que um funcionário trabalhou:
1 2 3 4 5 6 7 8 9 10 |
public void sethorasTrabalhadas(int hours) { if (hours > 0) { horasTrabalhadas = hours; } else { System.out.println("Error: horasTrabalhadas Cannot be Smaller than Zero"); System.out.println("Error: horasTrabalhadas is not updated"); } } |
Aqui, o método não retorna nenhum valor (void
) e tem um parâmetro do tipo int
. O corpo do método contém uma estrutura de decisão para validar o valor passado como argumento.
Outro exemplo é o método calculaPagamento
, que é sobrecarregado, significando que temos duas versões dele:
1 2 3 4 5 6 7 8 9 10 11 12 |
public int calculaPagamento() { printMessage(); int pagamentoFuncionario = horasTrabalhadas * valorHora; return horasTrabalhadas > 0 ? pagamentoFuncionario : -1; } public int calculaPagamento(int bonus, int allowance) { printMessage(); return horasTrabalhadas > 0 ? horasTrabalhadas * valorHora + bonus + allowance : 0; } |
A sobrecarga permite que usemos o mesmo nome de método, mas com diferentes conjuntos de parâmetros, o que ajuda a manter a consistência e a clareza no código. Ao invocar calculaPagamento
, podemos escolher entre a versão sem parâmetros ou a versão que aceita um bonus
e um allowance
como entrada para calcular o pagamento.
A Classe DemonstracaoPoo
Dentro da classe DemonstracaoPoo
, encontramos o método main
, que serve como ponto de entrada para aplicações Java. Este método é onde instanciamos objetos da classe Funcionario
e utilizamos seus métodos:
1 2 3 4 5 6 7 8 |
public static void main(String[] args) { Funcionario funcionario1 = new Funcionario("Peter"); funcionario1.sethorasTrabalhadas(160); int pay = funcionario1.calculaPagamento(1000, 400); System.out.println("Pay = " + pay); } |
A classe DemonstracaoPoo
utiliza os métodos da classe Funcionario
para simular uma situação onde o pagamento de um funcionário é calculado e exibido.
Métodos e Encapsulamento
Métodos desempenham um papel crucial no encapsulamento, um dos princípios fundamentais da programação orientada a objetos. Eles permitem a interação com os campos (ou atributos) de um objeto de forma controlada, evitando a alteração direta e potencialmente perigosa do estado interno do objeto. Isso ajuda a manter a integridade dos dados e o comportamento previsível dos objetos.
Considerações Finais sobre Métodos
Os métodos são um componente integral da programação orientada a objetos em Java. Eles não apenas definem o comportamento dos objetos, mas também são essenciais para a interação entre diferentes partes de uma aplicação. Uma compreensão clara e um uso eficiente dos métodos permitem a criação de programas mais claros, reutilizáveis e fáceis de manter.
Este artigo forneceu uma visão geral dos métodos em Java, abrangendo desde a sua sintaxe básica até a aplicação prática em exemplos de código reais. Ao continuar estudando e praticando com conceitos como métodos e classes, você se tornará cada vez mais hábil na arte de escrever e compreender aplicativos Java complexos. A linguagem Java oferece um amplo ecossistema de ferramentas e recursos que, aliados à programação orientada a objetos, equipam os desenvolvedores para enfrentar uma vasta gama de desafios de software.