Hola... este post es relacionado al anterior pero como la duda ahora es más específica en otro sentido he decidido abrir este nevo tema... resulta que pretendo manejar sesiones dejando las variables cargadas en la clase principal para no tener que consultar la base de datos por gusto... intente con herencia y no se si será por alli el camino... pero como no lo he logrado, pense un poco y se me ocurre pasar por parametro la instancia de una clase que mantenga los valores de sesion... instancia que se hizo en la clase principal... asi se mantendra la clase viva ycon ella sus atributos, los cuales para usarse bastará con pasar por parametro la misma instancia de la clase sesion a la clase que los usará o modificará... He escrito 4 clases y funciona la idea basica....
me gustaria saber si ¿es una locura lógica lo que digo o esto me resolvería definitivmente el problema?
Les muestro los codigos y les agradezco la ayuda.... es algo que me urge
//la clase sesión
public class Sesion {
int num;
public Sesion(){
num=20;
}
}
//La clase principal
public class Clase {
public Sesion sesion;
public Clase(){
}
sesion = new Sesion();
System.
out.
println("Clase > Invocando a Hija1"); Hija1 log = new Hija1(sesion);
System.
out.
println("Clase > Num:" + sesion.
num); Hija2 log2 = new Hija2(sesion);
System.
out.
println("Clase > Num:" + sesion.
num); }
public static void main
(String[] args
) { Clase log = new Clase("ini");
}
}
//Las clases hijas
public class Hija1 extends Clase {
public Hija1(){
}
public Hija1(Sesion obj){
System.
out.
println("Hija1 > El valor num es: " + obj.
num); obj.num = 37;
System.
out.
println("Hija1 > He cambiado el valor de num a: " + obj.
num); }
}
//la otra clase hija
public class Hija2 extends Clase {
public Hija2(){
}
public Hija2(Sesion obj){
System.
out.
println("Hija2 > El valor num es: " + obj.
num); obj.num += 100;
//System.out.println("Hija1 > He cambiado el valor de num a: " + this.num);
}
}
Ayuda