Hoje vou falar sobre mais conceitos da orientação a objetos, neste caso vou tratar dos métodos, construtores e sobrecarga de método.
Lembrando que, o conteúdo são anotações das aulas, feitas juntamente a pesquisas, assim se achar que pode ficar melhor, basta contribuir.
Até aqui vimos encapsulamento, classe e atributo. Agora, iremos continuar tratando dos conceitos.
Método
Vistos anteriormente, os atributos são o que definem a classe, por exemplo, na classe Pessoa, há os atributos, peso, forte, nome. Até aqui tudo bem, mas, o que fazer com cada uma dessas informações ? E é ai que os métodos entram.
Os métodos representam as ações que a classe oferece, e são executadas somente quando são chamadas. Um outro ponto é que esses métodos devem utilizar os atributos.
Além dessas características, os métodos apresentam sua forma de definição, que de maneira simples, são feitas através do nome do método, seus argumentos e seu tipo de retorno. Essas são as características necessárias para poder descrever os métodos, onde:
- Nome: Representa o nome do método;
- Argumentos: Representam formas de entradas, que server como um auxilio;
- Retorno: O tipo de retorno também deve ser explicito no método.
Com essas informações é possível descrever um método, como foi citado, e ainda, é possível criar métodos com nomes iguais, porém com algumas modificações, ou seja, caso algum dos argumentos do método um, sejam de tipos diferentes já é o suficiente para que um segundo método com mesmo nome seja criado. Este recurso é chamado de assinatura.
Veja abaixo um exemplo da utilização da assinatura.
class Pessoa{ String nome; double peso; boolean forte; // Declarando o método public void mostrarForca(){ if (forca >= 120){ System.out.println("Muita força"); } else if ( forca < 119){ System.out.println("Menos força que o forte"); } } public void mostrarForca(int peso){ if(forca > peso){ System.out.println("O peso foi levantado"); } else { System.out.println("O peso ainda está no chão!"); } } }
Perceba que não ouve problemas em fazer a utilização de dois métodos com nomes iguais, mas isso porque um dos itens da assinatura são diferentes, que neste caso é o argumento.
Construtor
O construtor é um tipo especial de método, ele é um dos poucos que não apresentam retorno, e servem basicamente para a criação de objetos. Sendo assim, toda vez que for necessário a criação de um objeto de uma classe, o construtor será utilizado.
Ele permite uma utilização mais efetivas para os métodos e atributos, através da geração do objeto. Quando um método é gerado, é possível colocar através do construtor se este objeto irá iniciar ou não com valores pré-definidos.
Este por ser um método, também implementa a questão das assinaturas, porém aqui há uma diferença, não é necessário colocar o retorno, até porque como ele cria uma classe, seu retorno está implícito, onde cada vez que alguém o aciona, ele retorna um objeto com o mesmo tipo da classe que o chamou.
Mas o que ocorre caso eu não faça a declaração de um construtor em meu código ? Não vou conseguir compilar ? Não vai executar ?
Vamos lá, começando com a questão da execução e compilação. Primeiro, o programa será executado normalmente, o compilador Java ao não encontrar um construtor, cria um default, para aquela classe, este apenas com o nome da classe, mas vazio, como é demonstrado abaixo.
class Pessoa(){ public Pessoa(){ } }
A sobrecarga de método
Acima, na seção do método fiz uma pequena demonstração de como a sobrecarga de método se caracteriza. Bem antes de irmos até a parte prática, vejamos sobre o que é a sobrecarga. Basicamente a sobrecarga de método é o ato de dispor de diversas ações que tenham o mesmo método, porém, podendo variar em seu tipo ou em seus argumentos.
class Calculadora(){ public Integer calcular(Integer a, Integer b){ return a + b; } public void calcular(Integer a, Integer b){ System.out.println("A soma é: " + (a + b)); } }
Assim como no exemplo passado, há dois métodos iguais, porém este código funciona normalmente, exatamente pela sobrecarga de método, aqui você pegou um método já definido e criou algo em cima dele alterando apenas, neste caso o tipo, ou os argumentos.
Bem este é o fim, até a próxima.
Comentários
Postar um comentário