Repaso de JavaSE: Polimorfismo, Genéricos, Reflexión y Fundamentos SQL

Polimorfismo e Interfaces

El polmiorfismo permite tratar objetos de subclases mediante referencias de superclases. Las interfaces definen contratos de comportamiento que las clases implementan:

interface ConexionBD {
    void conectar();
    String ejecutarConsulta(String sql);
}

class MySQL implements ConexionBD {
    @Override
    public void conectar() {
        System.out.println("Conexión MySQL establecida");
    }
    
    @Override
    public String ejecutarConsulta(String sql) {
        System.out.println("Ejecutando consulta MySQL");
        return "éxito";
    }
}

class OracleDB implements ConexionBD {
    @Override
    public void conectar() {
        System.out.println("Conexión Oracle establecida");
    }
    
    @Override
    public String ejecutarConsulta(String sql) {
        System.out.println("Ejecutando consulta Oracle");
        return "éxito";
    }
}

Genéricos

Los genéricos proporcionan seguridad de tipos al permitir parámetros de tipo en clases y métodos:

class Contenedor<T> {
    private T contenido;
    
    public void guardar(T elemento) {
        this.contenido = elemento;
    }
    
    public T obtener() {
        return contenido;
    }
}

// Uso con tipo específico
Contenedor<Double> contenedorDouble = new Contenedor<>();
contenedorDouble.guardar(15.75);
double valor = contenedorDouble.obtener();

Reflexión

La reflexión permite inspeccionar y manipular clases y objetos en tiempo de ejecución:

Class<?> clase = Saludo.class;
Object instancia = clase.newInstance();

Field campo = clase.getDeclaredField("identificador");
campo.setAccessible(true); // Acceso a miembro privado
campo.set(instancia, 500);

System.out.println(campo.get(instancia));

Operaciones SQL Básicas

DDL (Definición de Datos)

CREATE DATABASE IF NOT EXISTS basedatos CHARSET utf8mb4;
USE basedatos;

CREATE TABLE IF NOT EXISTS cliente (
    id INT AUTO_INCREMENT,
    nombre VARCHAR(20) NOT NULL,
    genero ENUM('masculino','femenino') DEFAULT 'masculino',
    edad INT,
    salario DOUBLE,
    telefono CHAR(15) UNIQUE,
    PRIMARY KEY(id)
) ENGINE=InnoDB;

DML (Manipulación de Datos)

-- Inserción
INSERT INTO cliente(nombre, genero, edad, salario, telefono) 
VALUES ('Laura', 'femenino', 28, 4200.50, '555-1234');

-- Actualización
UPDATE cliente SET salario = 4800 WHERE id = 1;

-- Eliminación
DELETE FROM cliente WHERE id = 3;

Etiquetas: java Genéricos reflexión SQL polimorfismo

Publicado el 7-16 07:35