B y C heredan de A. Usar objetos instanciados en otra subclase

Iniciado por Lorkz, 13 Noviembre 2010, 00:10 AM

0 Miembros y 1 Visitante están viendo este tema.

Lorkz

bueno... paso a explicar y espero que puedan ayudarme  >:( 
Tengo una superclase, A  y 2 subclases de esta  B y C.
Ahora en B instancio un objeto cualkiera, y quiero usar el mismo objeto en C, exactamente igual, con los mismos atributos y metodos. Como puedo hacer eso??? alguien sabe?

egyware

No se puede ya que B y C son dos clases distintas por lo tanto sus objetos tambien(aunque tengan objetos parecidos). Lo que puedes hacer que esos atributos que tienen igual los guardes en A en vez de B y C por separado, asi talvez soluciones tu problema.


Saludos

sapito169

-la opcion que te van a dar casi todo es que le pongas la palabra reservada static a la momento de declara el objeto que que quieres que sean iguales esto trae muchas desventajas perderias el control de repente en el futuro deses que sean diferentes y no iguales o talves quieres que otras clases repitan el mismo objetos en otras clases es decir no lo puedes controlar al minimo

lo que propongo es separar por completo la logica de creación de la apliacion con la logica en si de la apliacion para lograrlo es necesario que creen clases que eviten al maximo usar el new y que tambien crear toda la aplicacion desde el metod main
el metodo main no muerde y siempre lo usas solo es cuestión de que lo miren de ves en cuando

esto trae bastantes desventajas como que te salten un monto de nullpointerexeption no sepan leer el metodo main lo cual no es la gran cosa si trabajan con gente con experiencia




Arobavx

quetal si posteas el code para que se pueda entender mejor lo que necesitas  >:D

sapito169

#4
public class Main {
public static void main(String arg[]) {

FuenteDeDatos fuenteDeDatos = new FuenteDeDatos();

FrmAbmPersonal frmAbmPersonal = new FrmAbmPersonal(fuenteDeDatos);
FrmAbmProducto frmAbmProductos = new FrmAbmProducto(fuenteDeDatos);

FrmPrincipal frmPrincipal = new FrmPrincipal();
frmPrincipal.add(frmAbmPersonal);
frmPrincipal.add(frmAbmProductos);
frmPrincipal.setVisible(true);
}

}



import javax.swing.JInternalFrame;

public class FrmAbmProducto extends JInternalFrame {

/**
*
*/
private static final long serialVersionUID = 1L;

private final FuenteDeDatos fuenteDeDatos;

public FrmAbmProducto(FuenteDeDatos fuenteDeDatos) {
this.fuenteDeDatos = fuenteDeDatos;
}

}



disculpa tuve que salir y no puede postear el ejemplo

Lorkz

Muchas gracias x las respuestas. MMMm el tema es el siguiente tengo 2 frames ambos heredan de la clase JFrame de java  en el primer frame quiero crear un objeto con sus atributos y en el 2do quiero trabajar con ese objeto que ya ha sido creado en el 1er frame :S.

egyware

Pues comparte el objeto, creo que hubiese sido mejor que lo preguntaras del principio.
Para compartir un objeto entre dos objetos es muy simple, les dejo la tarea a ti y a los demas usuarios que te ayuden.
Ahora ando corto de tiempo :S

sapito169

#7
Cita de: Lorkz en 14 Noviembre 2010, 20:14 PM
Muchas gracias x las respuestas. MMMm el tema es el siguiente tengo 2 frames ambos heredan de la clase JFrame de java  en el primer frame quiero crear un objeto con sus atributos y en el 2do quiero trabajar con ese objeto que ya ha sido creado en el 1er frame :S.

-tener 2 frames es recontra mala ide en una aplicacion de ves tener un jframe y varios Jdialagos o varios Jinternalframe

-te e puesto un solucion identica solo tines que leerla que no ves que estas compartiendo el objeto FuenteDeDatos() en 2 JinternalFrames solo pasalo en el constructor

-eso de crear un objeto dentro de una clase y pasarla no es una buena idea mejor crea lo antes y pasa lo a las frames que necesites como yo ise