elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:30  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  clases heredadas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: clases heredadas  (Leído 480 veces)
Pirat3net

Desconectado Desconectado

Mensajes: 173


Ver Perfil
clases heredadas
« en: 6 Diciembre 2011, 22:36 »

el problema es que tengo una clase que hereda de otra clase(no abstracta)
el tema es que necesito que alguno de los metodos de la superclase se comporten de manera distinta en la clase heredada.
si no recuerdo mal si los metodos de la superclase eran abstractos, se podian modificar en la subclase, pero si no es asi, se puede? o debo crear metodos distintos en la subclass?


En línea
madpitbull_99
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.898



Ver Perfil WWW
Re: clases heredadas
« Respuesta #1 en: 6 Diciembre 2011, 22:39 »

¿Y no has intentado reescribir esos métodos en la clase hijo?

Si he entendido bien el problema, deberías poder reescribirlos y/o usar la sobrecarga de métodos.




En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
KaL3o

Desconectado Desconectado

Mensajes: 32



Ver Perfil
Re: clases heredadas
« Respuesta #2 en: 6 Diciembre 2011, 22:47 »

Si la clase tiene aunq sea un metodo abstracto, entonces la clase es abstracta y no se pueden instanciar objetos de esa clase.

Cuando se tiene una clase abstracta, los metodos abstractos se deben definir en la clase derivada (se deben definir por obligacion)

Ahora en tu caso, simplemente como no estas usando clases abstractas, cada vez que utilizas la herencia puedes redefinir el metodo (no es necesario hacer uso de polimorfismo -osea no es necesario hacer uso de sobrecarga de metodos-) En caso que no redefinas el metodo entonces se utilizara el metodo de la superclase.

Salu2 ;)
En línea

Todos los caminos se vuelven a juntar. Pero nunca de la misma forma.
sapito169


Desconectado Desconectado

Mensajes: 421



Ver Perfil
Re: clases heredadas
« Respuesta #3 en: 6 Diciembre 2011, 23:02 »

si pero jamas lo hagas eso es una de las peores "feture" de java  >:( cuando pasa eso inmediatamente deduce que el disño es muy malo

simplemente en la clase hija buelve a implementar la funcionalidad asi

class canino{
void rueda(){
//canino salvaje no obedece
ataca();
personamuere();
}
}

class pekines extends canino{

void rueda(){
ruedafelis();
seorinaenlaofombra();
}
}

ademas es recomendable que utilises la anotacion override asi


class pekines extends canino{

@override
void rueda(){
ruedafelis();
seorinaenlaofombra();
}
}


esa es la forma como trabajan casi todos (en realidad que usen poo es un milagro)

porfavor no lo agas la mayoria programan horrible cuando tengas clases parecidas que implementan los mismos metodos de formas diferentes creas una interfase con el metodo en comun luego haces que tus clases concretas implementen ese metodo yo voy aun mucho mas lejos e implemento una solucion mas "a la fuersa bruta" creo la interface luego una implementacion de una clase abstracta paraponer todos los metodos comunes a todas las implementaciones concretas y despues creo todas las implementacion heredando de la clase abstracta  :xD

y porfavor dinos los nombres de las clases es cuestion de vida o muerte todo puede fracasar horriblemente si lo haces mal (aunque no lo paresca) el diseño no tiene mucho que ver con complicados algritmos tiene que ver con la comunicacion y el lenguaje




« Última modificación: 6 Diciembre 2011, 23:38 por sapito169 » En línea

Pirat3net

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: clases heredadas
« Respuesta #4 en: 7 Diciembre 2011, 00:16 »

THX me resolvieron los ejemplos.el tema es que hacia time que no cojo java y estaba liado con que podia y no podia hacer, me podria haber pegado mucho tiempo probando xD;
thx
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
clases
Programación Visual Basic
elmaro 2 442 Último mensaje 12 Septiembre 2006, 05:51
por elmaro
Clases 113 a 116
Programación C/C++
maxwellnewage 2 500 Último mensaje 18 Septiembre 2009, 00:49
por maxwellnewage
Clases C (EDH)
Programación C/C++
maxwellnewage 0 411 Último mensaje 14 Enero 2010, 02:57
por maxwellnewage
clases en C++
Programación C/C++
mapers 4 1,080 Último mensaje 25 Enero 2011, 06:21
por mapers
Clases
.NET
TheGhost(Z) 4 561 Último mensaje 14 Febrero 2011, 18:15
por Edu
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines