🏠 Inicio ➡️ / 📖 Sesión 04 ➡️ / ⚡Reto 02: Factura con RFC opcional
Diseñar una clase Factura aplicando los principios de encapsulación con modificadores de acceso y utilizando la clase Optional para manejar valores que pueden ser nulos, como el RFC del cliente.
🧾 Tu reto será modelar una factura sencilla, que contenga los datos básicos de una compra y, opcionalmente, el RFC del cliente. Se deberá proteger el acceso a los atributos y permitir el uso seguro de null a través de Optional.
🔐 Atributos privados:
double monto: cantidad total de la factura 💵String descripcion: breve concepto de lo facturado 🧾Optional<String> rfc: RFC del cliente (puede estar presente o no)
🛠️ Métodos públicos:
Factura(double monto, String descripcion, String rfc)- Si el RFC es
null, debe almacenarse usandoOptional.empty()
- Si el RFC es
String getResumen()→ Devuelve una cadena con los datos de la factura- Si el RFC está presente, se muestra
- Si no, se muestra
"RFC: [No proporcionado]"
📌 Actividades:
- Crear al menos 2 facturas:
- Una con RFC
- Otra sin RFC (
null)
- Imprimir el resumen de ambas facturas usando el método
getResumen()
📄 Factura generada:
Descripción: Servicio de consultoría
Monto: $2500.0
RFC: ABCC010101XYZ
📄 Factura generada:
Descripción: Reparación de equipo
Monto: $1800.0
RFC: [No proporcionado]
📌 Nota importante:
En este reto deberás aplicar:
- Encapsulación (
private+ métodos públicos) - Uso de
Optionalpara evitar errores con valores nulos
🏆 ¡Sigue así! Este reto te ayudará a consolidar buenas prácticas de desarrollo orientado a objetos en Java.