Duda con definicion de clase y herencia

06/04/2008 - 17:09 por Pedro Vidal | Informe spam
Tengo una clase C1 que contiene un grupo de 20 metodos, digamos M1 a M20.

Quiero otra clase C2 que tiene tres metodos que comparten el mismo codigo
con los metodos de C1: M3, M4 y M5
A su vez C2 contiene otros metodos propios que no tienen nada que ver con
C1.

Mi pregunta es si es conveniente definir a C2 como 'hija' de C1 y luego
modificarla agregandole sus propios metodo, aunque no vaya a utilizar
ninguno de sus otros metodos ? no es una sobrecarga innecesaria de codigo?

O deberian C1 y C2 ser clases independientes aunque tenga que duplicar el
codigo que uso para M3, M4 y M5.?

O deberia crear una tercera clase con las cosas comunes? como se define eso
para que ambas hereden?

Agradezco la ayuda.

Preguntas similare

Leer las respuestas

#1 Guillermo Peralta
06/04/2008 - 18:00 | Informe spam
Hola Pedro;

Me parece que la solución va por la tercera opcion:

Crea una Clase C0 con los metodos
M3, M4, M5

Hereda C1 y C2 de C0

Define los metodos M1, M2, M6... a 20 en la clase C1
Define los Metodos propios de C2

Espero sirva de ayuda

Saludos
Guillermo


"Pedro Vidal" escribió en el mensaje
news:uK2ptg$
Tengo una clase C1 que contiene un grupo de 20 metodos, digamos M1 a M20.

Quiero otra clase C2 que tiene tres metodos que comparten el mismo codigo
con los metodos de C1: M3, M4 y M5
A su vez C2 contiene otros metodos propios que no tienen nada que ver con
C1.

Mi pregunta es si es conveniente definir a C2 como 'hija' de C1 y luego
modificarla agregandole sus propios metodo, aunque no vaya a utilizar
ninguno de sus otros metodos ? no es una sobrecarga innecesaria de codigo?

O deberian C1 y C2 ser clases independientes aunque tenga que duplicar el
codigo que uso para M3, M4 y M5.?

O deberia crear una tercera clase con las cosas comunes? como se define
eso para que ambas hereden?

Agradezco la ayuda.




Respuesta Responder a este mensaje
#2 Guillermo Peralta
06/04/2008 - 18:13 | Informe spam
Además podrias declarar C0 como "abstract" para obligar a que no se pueda
crear una instancia de esta clase, y así los metodos definidos solo pueden
ser llamados por sus clases hijas.

Saludos
Guillermo
AG-CBA-ARG


"Guillermo Peralta" <guillermoperalta(-a.r.r.o.b.a.-)onenet.com.ar> escribió
en el mensaje news:%23JhIo9$
Hola Pedro;

Me parece que la solución va por la tercera opcion:

Crea una Clase C0 con los metodos
M3, M4, M5

Hereda C1 y C2 de C0

Define los metodos M1, M2, M6... a 20 en la clase C1
Define los Metodos propios de C2

Espero sirva de ayuda

Saludos
Guillermo


"Pedro Vidal" escribió en el mensaje
news:uK2ptg$
Tengo una clase C1 que contiene un grupo de 20 metodos, digamos M1 a M20.

Quiero otra clase C2 que tiene tres metodos que comparten el mismo codigo
con los metodos de C1: M3, M4 y M5
A su vez C2 contiene otros metodos propios que no tienen nada que ver con
C1.

Mi pregunta es si es conveniente definir a C2 como 'hija' de C1 y luego
modificarla agregandole sus propios metodo, aunque no vaya a utilizar
ninguno de sus otros metodos ? no es una sobrecarga innecesaria de
codigo?

O deberian C1 y C2 ser clases independientes aunque tenga que duplicar el
codigo que uso para M3, M4 y M5.?

O deberia crear una tercera clase con las cosas comunes? como se define
eso para que ambas hereden?

Agradezco la ayuda.








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida