1. Este sitio usa cookies. Para continuar usando este sitio, se debe aceptar nuestro uso de cookies. Más información.

Manejar objeto como atributo de clase.

Airways 2 Jun 2018

  1. Airways

    Airways
    Newbie Lvl 2

    36
    11
    0
    Buenas, vengo a consultar como debería seguir con un ejercicio:

    Las consigas son las siguientes:

    Se quiere crear una clase Cuenta la cual se caracteriza por tener asociado un número de cuenta y un saldo disponible. Además, se puede consultar el saldo disponible en cualquier momento, recibir ingresos y retirar monto.

    Crear una clase Persona, que se caracteriza por un DNI y una cuenta bancaria. Agregar un método donde crea conveniente que devuelva si la persona es morosa o tiene saldo negativo.

    Código Fuente (Text):
    Sólo usuarios registrados pueden ver esto. Click aquí para registrarte!
    Código Fuente (Text):
    Sólo usuarios registrados pueden ver esto. Click aquí para registrarte!
    Mi duda seria, ¿como debería usar el Objeto Cuenta en la clase Persona? ¿Debería crear una instancia de la clase persona directamente también creándole la cuenta a la persona, por lo tanto también pasar los datos al constructor para crear también la cuenta? ¿Como accedería a la cuenta del usuario con los métodos luego?
     
  2. Dunkan

    Dunkan
    Veterano

    2.925
    123
    223
    Primero, el numero de cuenta en la clase Cuenta podría ser tranquilamente el ID, ese atributo esta de mas.
    "consultar el saldo disponible en cualquier momento, recibir ingresos y retirar monto. " (getSaldo, aumentarSaldo, retirarSaldo), YO prefiero hacer las funciones antes que un setSaldo si no voy a tener un handler.

    -> private static int numeroCuenta = 0; ESTO ES UN HORROR, los atributos se inicializan en el CONSTRUCTOR! y no tiene por que ser estatico, podrias usar UUID ( https://stackoverflow.com/questions...uid-string-in-java-uuid-randomuuid-tostring-w ) para hacer el ID de la cuenta (es un dato COMPLETAMENTE INNECESARIO en este caso, lo vas a poner unicamente porque te lo pide), si el único acceso que va a tener va a ser desde la clase Persona, osea Persona.getCuenta().metodo();

    Esta bien, tenes que crear una instancia de la cuenta en la clase Persona, falta inicializarlo en el constructor de Persona y hacer un public Cuenta getCuenta() para operar desde la instancia de la persona con su cuenta. Pensa que cuando creas una persona, POR LO GENERAL, la cuenta va a estar vacía y con valores por defecto. Podes hacer por las dudas dos constructores (polimorfismo es el concepto creo), uno únicamente con dni (o los atributos de Persona que hagas) y otro que incluya una cuenta.

    La función que calcula el saldo negativo la haría en la misma clase Cuenta 'if(saldo < 0)'....

    Persona persona = new Persona("000000000");
    Persona.getCuenta().aumentarSaldo()

    Algo asi seria el uso
     
    A Airways le gusta esto.
  3. Airways

    Airways
    Newbie Lvl 2

    36
    11
    0
    Gracias por tomarte el tiempo arreglo mis errores, estaba encapsulando el objeto por eso no me dejaba hacerlo. Ya lo tengo casi listo hace todo lo que me pide. Es para un TP final de programación.

    Código Fuente (Text):
    Sólo usuarios registrados pueden ver esto. Click aquí para registrarte!
    Con esos atributos me quedo la clase Cuentas, el numero lo manejaba desde un arreglo de 1000 cuentas que se crea en bancos. Después si alguno le interesa subo el practico completo.
     

Compartir esta página