Pesquisar este blog

domingo, 24 de março de 2013

Orientação a objeto com Java - Polimorfismo


Polimorfismo:

Conceito de orientação a objeto onde um objeto pode ser declarado de várias formas, com isso podemos usar objetos mais abstratos (interfaces), e definirmos os comportamentos em objetos mais concretos (objetos que implementam as interfaces). Cada objeto pode ser atribuido a uma variável de um tipo que não seja o seu, desde que ele implemente, ou extenda aquele objeto:

public interface Login{
public boolean login(String nome, char[] senha);
}

public class LoginSha implements Login{
public boolean login(String nome, char[] senha){
//Implementacao do método em www.github.com/DirceuProfessor
}

public String resetPassword(String nome){
// Implementacão omitida
}
}

public class UsoLogin {
public static void main(String[]args){
// polimorfismo objeto LoginSha atribuido a uma variável do tipo Login
Login login = new LoginSha();
// possível já que a interface login define o método login
login.login("usuario",new char(){'s','e','n','h','a'});
//Erro de compilação já que a interface login não define o método resetPassword
login.resetPassword("usuario");
}
}

No exemplo acima, podemos ver que um objeto do tipo LoginSha é atribuido a um objeto Login, são objetos de tipos diferentes, mas como LoginSha implementa a interface Login, podemos atribuir um objeto LoginSha a uma variável do tipo login.

Nenhum comentário:

Postar um comentário