📊 Ver Diagrama UML

🚚 Trabajo Práctico POO - UNSO 2026 - GRUPO A+

LogiTrans S.A. — Sistema de Gestión de Flota

🧠 Objetos Actuales en Memoria 1 unidades
CONSTRUCTOR HERENCIA CAMIÓN Scania Base (BASE001) | 0 km
AGREGACIÓN Motor, Chasis, Carrocería
INTERFACE Entregable
🧬 Herencia:
Object ➔ Vehiculo (Abstracta) ➔ Camion + implements Entregable
📦 Métodos heredados: arrancar() estaDisponible() getPatente()
📜 Interfaz: realizarEntrega() (Polimorfismo)
💻 Análisis del Código (Click para expandir)

⚡ Código de Instanciación

// [CONSTRUCTOR] + [AGREGACIÓN] $m = new Motor("Diesel", 400); $c = new Chasis("Acero", 10.0); $car = new Carroceria("Cerrada", 50.0); $v = new Camion("BASE001", "Scania Base", 20.0, $m, $c, $car); $_SESSION['flota_array'][] = $v;

📄 Código Fuente

<?php require_once __DIR__ . '/Vehiculo.php'; /** * CAMIÓN * Hijo de Vehiculo → HEREDA todo lo común (patente, motor, etc.) * * POLIMORFISMO: sobreescribe realizarEntrega() con su lógica propia * (entregas de carga pesada a larga distancia). */ class Camion extends Vehiculo { private float $capacidadToneladas; public function __construct( string $patente, string $modelo, float $capacidadToneladas, Motor $motor, Chasis $chasis, Carroceria $carroceria ) { // Llamamos al constructor del padre parent::__construct($patente, $modelo, $motor, $chasis, $carroceria); $this->capacidadToneladas = $capacidadToneladas; } public function realizarEntrega(string $destino): string { return "🚚 [CAMIÓN {$this->patente}] Iniciando entrega de carga pesada " . "(hasta {$this->capacidadToneladas}T) con destino a {$destino}. " . "Ruta de larga distancia activada."; } public function __toString(): string { return parent::__toString() . " | Capacidad: {$this->capacidadToneladas}T"; } }
⚡ Prueba de Polimorfismo
Empresa Aliada (Vehículos Externos)
TransAliada S.R.L. (CUIT: 30-12345678-9)
Vehículos disponibles para prestar: 2
🏢 Empresa: TransAliada S.R.L. (CUIT: 30-12345678-9)
   Vehículos disponibles: 2
   - Mercedes Actros (EXT001)
   - Volvo FH (EXT002)
🔧 Departamento de Mantenimiento
Responsable: Técnico López
Vehículos en mantenimiento: 0
No hay vehículos en mantenimiento