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

el uso de extends

Estas en el tema de el uso de extends en el foro de Java en Foros del Web. Estoy comenzando a aprender Java y me surge un pregunta, la cual no logro encontrar una respuesta. Cuando heredo atributos entre clases se usa "extends" ...
  #1 (permalink)  
Antiguo 02/08/2009, 21:48
Avatar de goroscer  
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años
Puntos: 0
el uso de extends

Estoy comenzando a aprender Java y me surge un pregunta, la cual no logro encontrar una respuesta. Cuando heredo atributos entre clases se usa "extends" para decir que se realiza una herencia entre dos clases. Ahora bien, estuve probando hacer lo siguiente, dandome los mismos resultados.

Prueba del Siguiente Codigo usando extends:
Código:
public class principal extends impresion  {

int opcion;
impresion imp = new impresion();
empleado emp = new empleados // clase empleados (no la puse)
imp.menuprincipal();
opcion=entrada.nextInt(); // utilizo Scanner
switch (opcion){
		case 1:emp.carga_de_empleado(); //
			   break;
		case 2:emp.modificar();
			   break;
			}	


}

public class impresion {

 public void prtln(String mensaje){
	 
	 System.out.println(mensaje);
 }
 
public void menuprincipal(){
         prtln("---------Menu de Opciones---------");
	 prtln("1 - Carga de Empleados");
	 prtln("2 - Modificar Empleados");
         prtln("0 - Salir");
}

}
Prueba del Mismo codigo sin usar extends :

Código:
public class principal {

impresion imp = new impresion();

imp.menuprincipal();
// idem al anterior
}

public class impresion {

public void prtln(String mensaje){
	 
	 System.out.println(mensaje);
 }

public void menuprincipal(){
  // idem al anterior
}

}
Como dije anteriormente cuando realize la prueba de ambos codigos daban los mismos resultados, entonces, Cual es la diferencia al usar o no extends? Gracias por Responder y Saludos!!
__________________
"La verdadera locura quizá no sea otra cosa que la sabiduría misma que, cansada de descubrir las vergüenzas del mundo, ha tomado la inteligente resolución de volverse loca"
  #2 (permalink)  
Antiguo 02/08/2009, 22:13
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: el uso de extends

un programa puedes conseguirlo por cualquiera de los métodos tradicionales de programación, o por programación orientada a objetos... el tema es que si usas objetos y lo usas bien, la complejidad de las aplicaciones será manejable, y muchos casos te parecerá sencillo hacer un programa de cualquier tipo.
  #3 (permalink)  
Antiguo 03/08/2009, 05:45
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: el uso de extends

Buenas:

Como dice mi compañero, la complejidad es menor y la manejabilidad mayor. En tu caso dan el mismo resultado porque no estas haciendo uso de la herencia que indicas, ya que estas creando un objeto de tipo impresión y lo llamas.

La herencia hace que todo elemento no privado que contenga impresión lo contenga tambien la clase que hereda. De este modo, principal ya contiene el método menuPrincipal(), con lo que no hace falta que crees el objeto imp para llamar a dicho método, sino que te bastaría con hacer un this.menuPrincipal().

Velo si quieres como un pez grande que se come al chico, todo lo que contiene el pequeño, también lo contiene el grande, y además, más caracteristicas.

Espero haberme explicado.

Saludos.
  #4 (permalink)  
Antiguo 03/08/2009, 08:13
Avatar de goroscer  
Fecha de Ingreso: mayo-2008
Mensajes: 75
Antigüedad: 16 años
Puntos: 0
Respuesta: el uso de extends

Muy claros!, gracias por responder y saludos!!
__________________
"La verdadera locura quizá no sea otra cosa que la sabiduría misma que, cansada de descubrir las vergüenzas del mundo, ha tomado la inteligente resolución de volverse loca"
  #5 (permalink)  
Antiguo 04/08/2009, 00:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: el uso de extends

Son dos formas de "heredar comportamientos", la primera es la Herencia típica de los lenguajes orientados a objetos y la segunda es Composición/Delegación.

Ambas formas tienen sus ventajas e inconvenientes y casos de uso, y por Internet puedes encontrar bastantes discusiones sobre el tema, sobretodo buscando con Herencia vs Delegacion o sus nombres en inglés.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 24/08/2012, 20:48
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: el uso de extends

Hola
Primero que nada el extends amplica el contenido de una clase a una sub clase, esto que quiere decir que toma todos los elementos, los modificadores de acceso no se toman en cuenta en este caso:
public class HolaWeb:
{
private String persona;
private String saludo = "Hola"
}

public class onion extends HolaWeb:
{
/* Podemos tener acceso a las dos variables de instancia\n
pero tendremos acceso solo en esta clase a los private como bien sabes
y seguir con el tema*/


}
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 13:36.