Foros del Web » Programación para mayores de 30 ;) » Java »

duda con herencia

Estas en el tema de duda con herencia en el foro de Java en Foros del Web. Hola tengo una duda con la herencia. Tengo una clase llamada X que tiene ciertos atributos. Después tengo otra clase llamada Z , que me ...
  #1 (permalink)  
Antiguo 11/07/2016, 01:36
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 17 años
Puntos: 2
duda con herencia

Hola tengo una duda con la herencia. Tengo una clase llamada X que tiene ciertos atributos. Después tengo otra clase llamada Z , que me pide que muestre un atributo de la clase X.
La duda que tengo es ¿Qué es mejor extender la clase X (herencia) o crear un objeto de la clase X y trabajar con el objeto? es que prácticamente con ambas cosas puedo hacer lo mismo, pero tengo duda en cual emplear.

Gracias de antemano
  #2 (permalink)  
Antiguo 11/07/2016, 02:41
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: duda con herencia

Hola:

Sin no hay algún motivo que así lo requiera, siempre es mejor usar composición (crear un objeto y usarlo) que heredar.

Una herencia es una dependencia muy fuerte (tu clase Z depende totalmente de tu clase X, ya que hereda de ella, y ve todo lo que sea publico y protegido de X).
Una composición es una dependencia menos fuerte (sólo se ve la parte pública) y se puede hacer incluso aliviar más si usas una interfaz de la clase X implemente en vez de directamente la clase X.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 11/07/2016, 12:38
 
Fecha de Ingreso: agosto-2015
Ubicación: La Habana
Mensajes: 72
Antigüedad: 8 años, 7 meses
Puntos: 4
Respuesta: duda con herencia

Es bueno que tengas bien claro el tema de las herencias, pues es muy útil en la programación orientada a objeto, pero si no la utilizas debidamente pudiera volverse en tu contra. Cuando declaras que z hereda de x, simplemente estás diciendo que la clase z es una clase x que además pudiera tener otros atributos y funciones. Por ejemplo tengo la clase animal, la clase perro y la clase gato. Un animal a groso modo come y duerme, por lo que perro y gato heredan de animal, sin embargo un perro no es un gato por tanto no pueden heredar el uno del otro, digamos que el perro ladra y el gato mahulla (una diferencia, serían funciones de cada uno). Como dice chuidiang la erencia es una relación muy fuerte que se debe estar muy seguro de usarla.
Saludos

Etiquetas: herencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.