public static void main(String[] args) { ArrayList<CuentaBancaria> cuentas = new ArrayList<>(); // UP CASTING CuentaBancaria ca = new CuentaAhorro(1, "Carlos", 0.3); cuentas.add(ca); cuentas.add(new CuentaCheques(2, "Antonio")); // cuentas.add(new CuentaBancaria(3,"erick")); for (CuentaBancaria cb : cuentas) { cb.patito(); // llamemos lo extra if (cb instanceof CuentaBancaria) { System.out.println("Tasa: " + ((CuentaAhorro) cb).getTasa()); } else if (cb instanceof CuentaCheques) { System.out.println("CHEQUES\n-----"); ((CuentaCheques) cb).imprimirCheques(); } } // ----DOWN CASTING INDIRECTO CuentaAhorro cah = (CuentaAhorro) ca; cah.setTasa(0.07); // --DOWN CASTING DIRECTO System.out.println("Tasa: " + ((CuentaAhorro) ca).getTasa()); }
public void recuperarCuentas(){ String sqlSelect = "SELECT * FROM cuentabancaria"; Connection conexion = null; Statement instruccion = null; ResultSet cjtoRes = null; ResultSetMetaData cjtoResMetaDatos = null; ArrayList nCuentas = new ArrayList(); try { Class.forName(CONTROLADOR); conexion = DriverManager.getConnection(URLDB, "toti", "132456"); instruccion = conexion.createStatement(); cjtoRes = instruccion.executeQuery(sqlSelect); cjtoResMetaDatos = cjtoRes.getMetaData(); int numColumnas = cjtoResMetaDatos.getColumnCount(); while(cjtoRes.next()) { CuentaBancaria cuenta = new CuentaBancaria(); for(int i = 1; i <= numColumnas; i++) cuenta.set= cjtoRes.getObject(i).toString(); nCuentas.add() } conexion.close(); } catch (ClassNotFoundException e) {
/** * Método set para el objeto clase CuentaBancaria. Sólo asigna el valor ccc en caso de que el * NIF/NIE del titular de la cuenta coincida con el del trabajador. * * @since version 1.2 12/01/2014(Tarea PROG06) * @param ccc CuentaBancaria con el contenido del objeto * @throws java.lang.Exception, en caso de que los NIF/NIE no concuerden */ public final void setCcc(CuentaBancaria ccc) throws Exception { // Comparamos si el NIF/NIE del trabajador es el mismo que el que figura // como el del titular de la ccc if (this.getNifONie().equalsIgnoreCase(ccc.getNifONieDelTitular())) { this.ccc = ccc; // en caso de que sí, lo asignamos if (!this.getNombre().equalsIgnoreCase(this.getCcc().getNombreTitularCuenta())) { // si el nombre es distinto al nombre del titular, asignamos // con el fin de actualizar el dato, y que quede igual que // los datos del banco this.setNombre(this.getCcc().getNombreTitularCuenta()); } } else { // si los id no concuerdan, se lanza la excepción. throw new Exception("NIF/NIE (no concuerda)"); } }