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

Herencia y composicion

Estas en el tema de Herencia y composicion en el foro de Java en Foros del Web. hola buenas he hecho un examen y me han puesto la pregunta siguiente: decir cual de las dos afirmaciones es falsa: una clase puede heredarse ...
  #1 (permalink)  
Antiguo 07/06/2012, 05:13
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 0
Herencia y composicion

hola buenas he hecho un examen y me han puesto la pregunta siguiente:
decir cual de las dos afirmaciones es falsa:
una clase puede heredarse asi misma.
una clase puede componerse asi misma.
eso lo de la composicion y herencia
que me decis?
  #2 (permalink)  
Antiguo 07/06/2012, 13:01
Avatar de Lalounam  
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Herencia y composicion

La definición formal de herencia indica que una clase es subtipo de sí misma, es decir A<A, sino fuera así formalmente las cosas no funcionarian, Java por su parte no es formal, es decir, no cuenta con este tipo de definiciones y por ello no te permitirá hacer algo como A extends A dentro del código, pero creo qu es implícito. La composición no sé qué es, ese término no lo he escuchado en el Paradiga Orientado a Objetos.

En resumen, formalmente una clase si extiende de sí misma, pero Java no lo permite como una construcción correcta. Saludos.
  #3 (permalink)  
Antiguo 07/06/2012, 13:10
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Herencia y composicion

La frase falsa es una clase puede heredarse asi misma.


En cambio, la otra frase es correcta.

La composición no es más que utilizar como atributos de una clase, objetos de otras clases.

Un ejemplo de la veracidad de la afirmación (una clase puede componerse asi misma) son las listas enlazadas:

Código Java:
Ver original
  1. public class Nodo{
  2.  
  3. public int dato;
  4.  
  5. public Nodo next;
  6.  
  7. public Nodo(int n){
  8.  
  9. dato=n;
  10.  
  11. next=null;
  12.  
  13. }
  14.  
  15. }


Si te fijas, la clase Nodo tiene dentro un atributo next de la misma clase. De esta manera, puedes crear una sucesión de objetos que tienen enlaces a objetos del mismo tipo (una lista enlazada).

Saludos.
  #4 (permalink)  
Antiguo 08/06/2012, 06:50
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Herencia y composicion

muchas gracias es que yo pense ese pense en una clase y ponerle un campo con un arrayList de la mismas clsase pues por ejemplo
publicc class perro{
private ArrayList<perro>;
pero es que me sonaba mal y de decante por la de herencia
gracias

Etiquetas: clase, composicion, 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 12:26.