[b]
Olá pessoal alguem tem uns exemplos de herança e polimorfismo
ou ate uns tutoriais ai…
ta valendo uma explicaçãozinha tbm :!:
[/b]
[b]
Olá pessoal alguem tem uns exemplos de herança e polimorfismo
ou ate uns tutoriais ai…
ta valendo uma explicaçãozinha tbm :!:
[/b]
poliformismo é quando vc tem mais de um método com o mesmo nome mas com a assinatura diferente.
public double quadrado(int numero) {
return (double) numero * numero;
}
public double quadrado(double numero) {
return numero * numero;
}
[quote=ateubh]poliformismo é quando vc tem mais de um método com o mesmo nome mas com a assinatura diferente.
[code]
public double quadrado(int numero) {
return (double) numero * numero;
}
public double quadrado(double numero) {
return numero * numero;
}
[/code][/quote]
Isso não é polimorfismo não… sugiro ler o artigo citado do wikipedia.
t+
info_god , lembrando que esse tipo de heranca ai so funciona se ambas as classes estiverem no mesmo package, pois nao foram declaradas public.
Polimorfismo:
http://www.dca.fee.unicamp.br/cursos/PooJava/polimorf/index.html
[code]public double quadrado(int numero) {
return (double) numero * numero;
}
public double quadrado(double numero) {
return numero * numero;
}
[/code]
Isso na verdade é sobrecarga de metódos !!
Bravox
baixeeeeeee a apostila do curso Fj-11 da caelum:
www.caelum.com.br
henrança elias falso é quando uma classe herda caracteristica de outra classe!!
e polimormismo é o parceiro falou la em cima vc tem varios metodos com o mesmo nome porem assinaturas diferentes… se as assinaturas for = . dar erro!! temos q lembrar esse conceito! pois em java vc pode ter um metodo pelo mesmo nome porem ele n analisa pelo nome e sim pelo tipo e argumentos a serem passados ou seja assinaturas!
Seu irmao gêmeo é = a vc? não parece ser = mais tem assinaturas diferentes!! (caracteristicas).
[quote=ateubh]poliformismo é quando vc tem mais de um método com o mesmo nome mas com a assinatura diferente.
[code]
public double quadrado(int numero) {
return (double) numero * numero;
}
public double quadrado(double numero) {
return numero * numero;
}
[/code][/quote]
É, poliformismo deve ser isso mesmo…
heranca e polimorfismo estao diretamente ligadas.
Vamos imaginar uma classe pai FiguraPlana. Essa classe tem na sua interface um metodo como getArea por exemplo.
Agora imagine duas classes filhas de FiguraPlana: Quadrado e Circulo.
Cada classe filha vai ter sua propria sobreposicao do metodo getArea (e nao sobrecarga como citado acima erroneamente). Na implementacao de Quadrado, o metodo retorna lado * lado, enquanto em Circulo retorna PI * R^2;
Agora imagine um metodo tipo:
void imprimeArea(FiguraPlana umaFigura){
System.out.println(umaFigura.getArea())
}
O polimorfirsmo fara com que o metodo imprima o resultado de lado * lado caso seja chamado “imprimeArea(umQuadrado)” e PI * R^2 no caso de ser passado um Circulo como parametro.
Não sei se ajudei em alguma coisa, mas e mais ou menos por ai
pow galera vlw pela força
fikei mei confuso , dei umaolhda no saite da wikipedia
ta fazendo uma força aki :shock:
Elias Faical,
O conceito de Hernaça e Polimorfismo andam juntos. Vou te dar um exemplo, e vai ficar mais fácil sua compreensão:
Imagine uma classe que tenha uma Conta Bancária Simples, chamada ContaSimples e que tenha os métodos depositar(), donodaconta(), versaldo(), retirar().
Agora vamos usar uma herança, e uma classe poupança vai herdar todos os métodos da classe Conta Simples acima, e vamos ainda adicionar um método Juros() na classe Poupança.
Acabamos de usar herança.
Polimorfismo, significa ‘muitas formas’
Agora vc pode usar o polifmorfismo, ou seja, vc vai poder usar o depositar(), tanto para a Classe Simples, quanto a para Poupança, resumindo, vc usou de 2 formas diferentes o mesmo método.
Entendeu? Qualquer coisa fala aí…
mandou ver ai noa resposta!! parceiro boa resposta!!
ai galera agora clareou…camilo falsovlw em …
inicjava cara um abraço e vlw pela força
[quote=julianostr]Veja aqui uma definição de polimorfismo:
http://pt.wikipedia.org/wiki/Polimorfismo[/quote]
Pelo que entendi o caso citado anteriormente é sobrecarga e não polimorfismo, o segundo caso é implementado através de interface utilizando implements.
José Eduardo Damas
Pelo que entendi o caso anterior e sobrecarga, para implementar polimorfismo deve ser utilizado interface através de implements.
José Eduardo Damas.
Sobrecarga é considerado uma forma de polimorfismo, embora eu não tenha escrito isso quando escrevi boa parte daquele artigo na wikipedia. Em C++ tem ainda outro tipo, criado através de templates.
Mas no caso do java e da OO, usa a definição da wiki que não tem erro.
Esse tópico para iniciantes é muito bom ! estão de parabéns os esclarecedores.
Polimorfismo têm vários sabores e os relacionados a herança não só os que tem.
um exemplo legal é esse:
[code]
class Empregado{
void trabalhar(){
}
}
class Gerente extends Empregado{
void gerenciar(){
System.out.print(“gerente gerenciando”);
}
}
class Diretor extends Gerente{
void planejar(){
System.out.print(“planejando”);
}
}[/code]
bem o código acima mostra que diretor tem acesso aos métodos de gerente e empregado, até mesmo porque ele extends empregado e gerente,não confunda com herança dupla, até porque java não permite, é só seguir a árvore hierárquica, isso cai no conceito de herança “é um”, diretor é um empregado e é um gerente também, ou seja, tem acesso aos métodos destas classes.