Java - Problema con método de clase hija en java.

 
Vista:
sin imagen de perfil

Problema con método de clase hija en java.

Publicado por Alejandro (7 intervenciones) el 03/03/2018 02:51:40
Muy buenas, me encuentro en problema, que no le busco la forma de resolverlo por mi cuenta, por eso acudo a este foro.
Mi problema es que tengo una clase padre llamada Persona, la cual tiene una clase hija llamada ControladorPersona, igual tengo otro clase llamada gestionador donde tengo un menu con switch y case (lo usua), en una opcion de mi menu quiero llamar a un metodo llamado agregarUsuario de la clase hija (ControladorPersona) pero no me deja crear el objeto ControladorPersona cp = new ControladorPersona(); esto debido a un objeto que tengo en el pero que es necesario, e intenado llamar a ese metodo con un cast ((ControladorPersona)ob).agregarUsuario(); peo me marca un error en el objeto ob, la verdad no se si lo estoy haciendo de forma correcta, agradeceria su ayuda.
Necesito crear algo como esto:
1
2
ControladorPersona cp = new ControladorPersona();
cp.agregarUsuario();

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Persona {
 
    int numeroCuenta;
    String nombre, apellido;
    float saldo;
 
    public Persona(int numeroCuenta, String nombre, String apellido, float saldo) {
        this.numeroCuenta = numeroCuenta;
        this.nombre = nombre;
        this.apellido = apellido;
        this.saldo = saldo;
    }
 
    //Getters and Setters
 
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class ControladorPersona extends Persona{
 
    ControladorPersona(int numeroCuenta, String nombre, String apellido, float saldo) {
        super(numeroCuenta, nombre, apellido, saldo);
    }
 
    Scanner sc = new Scanner(System.in);
 
    ArrayList<ControladorPersona> baseDatos = new ArrayList<>();
 
     //Metodo que necesito llamar
    public void agregarUsuario(){
 
        System.out.println("Agregar datos de Usuario.");
        System.out.println("__________________________________________________");
        System.out.println("Dame el nombre del usuario: ");
        nombre = sc.nextLine();
        System.out.println("Dame el apellido del usuario: ");
        apellido = sc.nextLine();
        System.out.println("Dame el saldo del usuario: ");
        saldo = sc.nextFloat();
        baseDatos.add(new ControladorPersona(numeroCuenta, nombre, apellido, saldo));
 
    }
 
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Gestionador {
 
    Scanner sc = new Scanner(System.in);
 
    public void menu(){
        do{
            System.out.println("BANCO - LA ALCANCIA");
            System.out.println("________________________________________");
            System.out.println("1. Nuevo.");
            System.out.print("Opcion: ");
            int opc = sc.nextInt();
 
            switch(opc){
                case 1:
                     //Me genera esto al crear el  objeto
                    //ControladorPersona cp = new ControladorPersona(opc, nombre, apellido, opc);
                    //Aqui necesito llamar al metodo
                    ((ControladorPersona)ob).agregarUsuario();//Error en el ob
                    break;
            }
        }while(true);
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con método de clase hija en java.

Publicado por Nico (14 intervenciones) el 04/03/2018 12:08:51
Podrías probar a poner en el método agregarpersona(persona nuevaPersona) o (controladorpersona nuevaPersona), así en baseDatos.add(nuevaPersona). Y quizás así no de de el error al crear el objeto controladorPersona CP = new controladorPersona(...), Aunque igual tendría que pedir los datos en la clase gestionador en vez de en el método agregarPersona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con método de clase hija en java.

Publicado por kingk (108 intervenciones) el 04/03/2018 17:51:09
Hola, el problema lo veo en que tendrías que definir ob, como objeto.Así:
object ob;
Pero, seria mejor que crearás otro constructor que pida los datos que necesita, por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
public ControladorPersona(){
 
    System.out.println("Agregar datos de Usuario.");
    System.out.println("__________________________________________________");
    System.out.println("Dame el nombre del usuario: ");
    nombre = sc.nextLine();
    System.out.println("Dame el apellido del usuario: ");
    apellido = sc.nextLine();
    System.out.println("Dame el saldo del usuario: ");
    saldo = sc.nextFloat();
}

Y luego el método para agregar persona.


1
2
3
4
public void agregarUsuario(){
 
    baseDatos.add(this);
}

Y listo. Lo llamas así:
1
new ControladorPersona().agregarUsuario();
Espero haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar