O que são os metodos? Pra que são usados?
Métodos são códigos ou um conjunto deles, que pertencem a uma classe e tem como objetivo realizar alguma tarefa. Métodos geralmente correspondem à uma ação do objeto. Por exemplo: clicar,calcular, etc. Além disso um papel fundamental dos métodos é ter de evitar reescrever código para uma mesma função toda vez que se deseja-la.
Tipos de métodos:
- Geter's e Setter's:
Os métodos Set e Get servem para você gravar e recuperar o conteúdo de uma variável do tipo private.Exemplo:
Class usuario{
private Long CodigoUsuario;
}
public Long getCodigoUsuario() {
return this.CodigoUsuario;
}
public void setCodigoUsuario (Long CodigoUsuario) {
this.CodigoUsuario = CodigoUsuario;
}
No exemplo o atributo CodigoUsuario está declarado como private, portanto, somente a própria classe pode acessá-lo, classes que herdem da classe usuario não poderão trabalhar tal atributo. Porem os métodos getCodigoUsuario e setCodigoUsuario são public, então podem ser acessados por por outras classes. Desse modo, caso uma classe precise alterar o atributo CodigoUsuario, deverá faze-lo através dos métodos Get e Set.
Construtores:
Para se utilizar uma Classe é necessário que ela tenha pelo menos um método construtor. Assim, todo objeto é instanciado quando chamamos uma Classe, e isso se
deve ao construtor. Por não ser um método, o construtor só será definido como private¹ ou public².
É importante criarmos também um Construtor vazio, caso contrário será obrigatório o preenchimento de todos os campos daquela classe.
private¹ - Segundo Oracle, o modificador private deixará acessívelo atributo apenas para a classe em que este atributo se encontra.
public² - De acordo com a Oracle, o modificador public deixará acessível a classe ou membro para todas as outras classes, subclasses e pacotes do projeto Java.
Metodo Main:
Quando uma classe possui a função main quer dizer que ela é um corpo executavel. Geralmente classes que não possuem o main() são objetos e ao invés disto tem o metodo construtor que tem o seu proprio nome ex:
class MEGAFONE{
public MEGAFONE(){
// metodo construtor
}
}
As classes com main sao o corpo do programa:
class Principal{
MEGAFONE mega = new MEGAFONE(); // chamada ao objeto
public static void main(String args[]){
// metodo principal
// o programa inicia aqui
}
}
" 1. Organização
Tudo que é possível fazer com os métodos, é possível fazer sem.
Porém, os programas em Java ficariam enormes, bagunçados e pior: teríamos que repetir um mesmo trecho de código inúmeras vezes.
Uma das grandes vantagens, senão a maior, que mostraremos a seguir, de se utilizar os métodos em Java é que escrevemos um trecho de código uma vez (que são os ditos cujos métodos) e podemos acessá-los várias vezes.
2. Reusabilidade
Quando você for iniciar um grande projeto, dificilmente você terá que fazer tudo do zero.
Se fizer, muito provavelmente é porque você se organizou muito mal ou não fez o Curso Java Progressivo. "
Fonte: http://www.javaprogressivo.net/2012/09/metodos-introducao-o-que-sao-para-que.html
APLIQUE O QUE APRENDEU: Um professor, muito legal, fez 3 provas durante um semestre mas só vai levar em conta as duas notas mais altas para calcular a média.
Faça uma aplicação em Java que peça o valor das 3 notas, mostre como seria a média com essas 3 provas, a média com as 2 notas mais altas, bem como sua nota mais alta e sua nota mais baixa. Essas médias devem ser calculadas usando o mesmo método, pois você é um programador Java e não vai ficar criando métodos à toa.
Crie um método que receba as 3 notas e retorna a maior delas. E outro que retorna a menor.
RESOLUÇÃO:
import java.util.Scanner;
public class parametrosVariaveis{
public static float media(float... valores){
float media=0;
for(float valor: valores){
media +=valor;
}
return media/valores.length;
}
public static float maiorNota(float nota1, float nota2, float nota3){
if(nota1 >= nota2){
if(nota1 >= nota3)
return nota1;
}else{
if(nota2 >= nota3)
return nota2;
}
return nota3;
}
public static float menorNota(float nota1, float nota2, float nota3){
if(nota1 <= nota2){
if(nota1 <= nota3)
return nota1;
}else{
if(nota2 <= nota3)
return nota2;
}
return nota3;
}
public static void main(String[] args){
float nota1, nota2, nota3;
Scanner entrada = new Scanner(System.in);
System.out.print("Entre com o valor 1: ");
nota1 = entrada.nextFloat();
System.out.print("Entre com o valor 2: ");
nota2 = entrada.nextFloat();
System.out.print("Entre com o valor 3: ");
nota3 = entrada.nextFloat();
System.out.println("Sua maior nota foi: "+maiorNota(nota1,nota2,nota3));
System.out.println("Sua menor nota foi: "+menorNota(nota1,nota2,nota3));
System.out.println("Sua média com as três notas é: " + media(nota1,nota2,nota3));
System.out.println("Sua média sem a menor nota é: "+ (nota1+nota2+nota3 - menorNota(nota1,nota2,nota3))/2);
}
}
EXERCICIO:
- MONTE UM PROGRAMA QUE RECEBA O NUMERO DE CONTAS A PAGAR, O VALOR DE CADA UMA DELAS, E CALCULAR O TOTAL A PAGAR, SOMANDO TODAS AS CONTAS.
Para saber mais sobre métodos aplicados em JAVA acesse: http://www.devmedia.com.br/trabalhando-com-metodos-em-java/25917
Video:
http://www.youtube.com/watch?v=h0R7zaBm2zs
Pessoal arrumem essas nomenclaturas, por exemplo, class iniciando com letra maiúscula está errado, o editor de texto deve ter alterado sem vocês perceberem. O tipo long é primitivo por isso deve começar com letra minúscula, e por aí vai... deêm uma repassada nisso, ok?
ResponderExcluirabçs