Una empresa de courier nacional en el ecuador requiere un software para gestionar sus envió como parte inicial desea enseñar a sus clientes como embalar sus productos por sus diferentes cajas. enfoca un paso a paso en un diseño y desarrollo java como inicio de estudiantes de la programación orientada objetos en java donde van a entender el uso de clase objetos declaración de tipos de datos.
Para un estudiante de Programación Orientada a Objetos (POO), modelar un sistema de embalaje es el ejercicio perfecto para entender que una clase es un molde y un objeto es la instancia real.
En este escenario de courier, vamos a crear un «Asistente de Embalaje» que valide si un producto cabe en una caja y enseñe el proceso.
1. El Concepto: Clase vs. Objeto
Antes de programar, definamos nuestros dos moldes principales:
- Clase
Producto: Define qué datos necesitamos del paquete (nombre, peso, dimensiones). - Clase
Caja: Define el contenedor y la lógica para «guardar» el producto.
Tipos de Datos a usar:
String: Para nombres y descripciones.double: Para dimensiones (largo, ancho, alto) y peso, ya que requieren decimales.boolean: Para estados (¿está embalado?).
2. Implementación en Java
Aquí tienes la estructura inicial. Fíjate cómo los atributos (variables) definen el estado y los métodos (funciones) definen el comportamiento.
Java
// Clase que representa lo que el cliente quiere enviar
class Producto {
String nombre;
double largo, ancho, alto;
// Constructor: El "nacimiento" del objeto
public Producto(String nombre, double l, double a, double h) {
this.nombre = nombre;
this.largo = l;
this.ancho = a;
this.alto = h;
}
}
// Clase que gestiona el proceso de embalaje
class Caja {
String tipo; // Ejemplo: "Caja Pequeña", "Caja Laptop"
double largoMax, anchoMax, altoMax;
public Caja(String tipo, double l, double a, double h) {
this.tipo = tipo;
this.largoMax = l;
this.anchoMax = a;
this.altoMax = h;
}
// Lógica de negocio: ¿Cabe el producto?
public boolean validarEspacio(Producto p) {
return p.largo <= largoMax && p.ancho <= anchoMax && p.alto <= altoMax;
}
}
3. El Paso a Paso del Embalaje (Algoritmo)
Para que el estudiante entienda el flujo, utilizaremos una estructura secuencial que simula la guía al cliente.
1.Declaración e Instanciación:Crear los objetos.
Se crean los objetos en el método main. Por ejemplo:
Producto miLaptop = new Producto("MacBook Pro", 35.0, 24.0, 2.0);
Caja cajaEstandar = new Caja("Caja A1", 40.0, 30.0, 10.0);
2.Validación de Dimensiones:Uso de condicionales.
El software ejecuta el método validarEspacio(). Si el resultado es false, el programa sugiere una caja más grande antes de continuar.
3.Instrucciones de Protección:Salida de datos.
Si el espacio es correcto, el sistema imprime los pasos físicos:
- Envolver con plástico de burbujas.
- Colocar en el centro de la Caja.
- Rellenar vacíos con material de amortiguación.
4.Sellado y Etiquetado:Cambio de estado.
Se actualiza un atributo boolean estaSellada = true y se genera el número de guía único para el rastreo nacional en Ecuador.
4. Ejemplo de Ejecución (Main)
Java
public class GestionCourier {
public static void main(String[] args) {
// 1. Creamos el producto del cliente
Producto pc = new Producto("Monitor 24 pulg", 55.0, 40.0, 5.0);
// 2. Definimos una caja disponible en el courier
Caja cajaGrande = new Caja("Caja Premium", 60.0, 45.0, 15.0);
// 3. Verificamos y enseñamos al cliente
System.out.println("Gestionando envío de: " + pc.nombre);
if (cajaGrande.validarEspacio(pc)) {
System.out.println("Paso 1: Use la " + cajaGrande.tipo);
System.out.println("Paso 2: Use 2 metros de burbuja.");
System.out.println("Paso 3: Selle con cinta reforzada.");
} else {
System.out.println("Alerta: El producto es demasiado grande para esta caja.");
}
}
}
Tip para estudiantes: En POO, siempre piensa en el «quién». ¿Quién tiene la responsabilidad de validar? En este caso, la Caja conoce sus límites, por lo que ella es la que valida al Producto. Servientrega vía a la Costa, Centro de copiado.
