Created
August 21, 2013 17:52
-
-
Save cubaraphael/6297681 to your computer and use it in GitHub Desktop.
Revisions
-
raphaelcuba created this gist
Aug 21, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,56 @@ public class Pessoa { private String nome; private int velocidade; // getters e setters... /* * Repare nos nomes dos metodos e construtores! */ // Construtor da classe Pessoa public Pessoa () { this.nome = 'Nome Padrão'; } // Caso eu queira poder construir uma Pessoa passando um nome // posso fazer usar a sobrecarga de metodo public Pessoa(String nome) { this.nome = nome; } // outro exemplo de sobrecarga... public void andar () { System.out.println("Estou andando a " + this.velocidade + " por hora!"); } // agora eu achei melhor criar o mesmo metodo andar, só que agora passando a velocidade pelo paramentro public void andar (int velocidade) { System.out.println("Estou andando a " + velocidade + " por hora!"); } } // em outro arquivo... public class Homem extends Pessoa { /* * Aqui esta o exemplo da sobrescrita de metodos * Só é possível fazer sobrescrita de método, quando a gente extende de alguma classe * e esse metodo não seja final (no Java a palavra reservada final diz que algo não pode ser alterado) */ // Como nós somos homens, nós corremos mais, então eu posso sobrescrever o metodo andar pra gente andar mais rapido public void andar () { System.out.println("Metodo sobrescrito, agora eu corro 2x mais! Veja: " + this.getVelocidade()); } /* * O metodo andar foi sobrescrito. * Resumindo: sobrecarga é quando você escreve 2 métodos ou mais com o mesmo nome, mas para que não * ocorra erro, você precisa que os métodos tenham parametros diferentes! * Sobrescrita de método é quando você tem um caso de herança e resolve sobrescrever o comportamento da classe Pai */ }