Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Reutilizar constructor

Buenos días me preguntaba si es correcto reutilizar el constructor que vimos en los videos para validar que que agencia sea mayor que cero en el constructor que usamos para inicializar los atributos de la clase Cuenta quedando de la siguiente manera:

private static int total=0; public Cuenta(int agencia) { if (agencia <= 0) { System.out.println("No se permite 0"); this.agencia=1; }else { this.agencia = agencia; } total++; }

public Cuenta (int agencia, int numero){
    this(agencia);
    this.numero = numero;
    this.saldo = 100; // esto significa que cada cuenta comienza con un saldo de 100.
    System.out.println("Estoy creando una cuenta");
}
1 respuesta

Hola Anthony espero que estes bien!

Sí, es correcto reutilizar el mismo constructor para validar que la agencia sea mayor que cero. En general, es una buena práctica tener un único constructor que se encargue de la inicialización de los atributos de la clase, y que incluya cualquier validación necesaria para asegurar que los valores proporcionados son correctos.

En el caso de la clase Cuenta, el constructor que vimos en los videos podría ser utilizado para inicializar tanto el campo "agencia" como el campo "saldo". La validación para asegurarse de que la agencia sea mayor que cero se podría agregar al inicio del constructor, antes de la inicialización de los campos.

Por lo tanto, el código podría quedar así:

public class Cuenta {
    private int agencia;
    private double saldo;

    public Cuenta(int agencia, double saldo) {
        if (agencia <= 0) {
            throw new IllegalArgumentException("El valor de la agencia debe ser mayor a 0.");
        }
        this.agencia = agencia;
        this.saldo = saldo;
    }

    // getters y setters
}

Este constructor valida que la agencia sea mayor que cero antes de la inicialización de los campos. Si la validación falla, se lanza una excepción de tipo IllegalArgumentException.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!