Programación Sistema de Gestión de Dispositivos Electrónicos
Sistema de Gestión de Dispositivos Electrónicos a partir de Diagrama de Clases
Descripción de la Evaluación
En esta evaluación, los estudiantes deberán implementar en PHP un sistema de gestión de dispositivos electrónicos que utilice herencia, una interfaz, encapsulación y polimorfismo. El sistema debe incluir una clase abstracta Dispositivo, tres clases hijas (Teléfono, Tablet, Portátil), y una interfaz Conectividad implementada por la clase Teléfono. Además, el código debe incluir un uso claro de polimorfismo, permitiendo que las clases hijas sobreescriban métodos de la clase padre.
Instrucciones
- Implementación de la clase abstracta «Dispositivo»:
- La clase Dispositivo debe ser abstracta e incluir atributos privados (marca, modelo, precio) y métodos accesores (getters y setters).
- Implementa los métodos encender(), apagar() y mostrarDetalles().
- mostrarDetalles() debe ser un método abstracto que será sobreescrito por las clases hijas para mostrar detalles específicos de cada dispositivo.
- Implementación de las clases hijas:
- Crea tres clases hijas: Teléfono, Tablet, y Portátil, que hereden de la clase Dispositivo.
- Cada clase hija debe tener atributos privados adicionales (por ejemplo, numeroTelefono para Teléfono, tamanoPantalla para Tablet, memoriaRam para Portátil) con sus respectivos métodos accesores.
- Sobreescribe el método mostrarDetalles() en cada clase hija para mostrar la información específica del dispositivo.
- Implementación de la interfaz «Conectividad»:
- La clase Teléfono debe implementar la interfaz Conectividad, añadiendo los métodos conectarWifi() y conectarBluetooth().
- Polimorfismo:
- Usa polimorfismo en la clase principal del programa para crear una función que reciba un objeto de tipo Dispositivo y llame al método mostrarDetalles(). Esta función debe mostrar los detalles específicos de cualquier tipo de dispositivo (teléfono, tablet o portátil).
- Demostración en el código principal:
- En un archivo principal index.php, crea instancias de Teléfono, Tablet, y Portátil, y usa la función polimórfica para mostrar sus detalles.
- Demuestra también la funcionalidad de la interfaz implementada en Teléfono.
Rúbrica de Evaluación (Calificación sobre 10 puntos):
Criterio | Puntos Máximos | Puntos Obtenidos |
1. Definición de la clase abstracta «Dispositivo» | 2 | |
– La clase Dispositivo está correctamente declarada como abstracta. | ||
2. Implementación de clases hijas con sobrescritura de métodos | 2 | |
– Las clases hijas (Teléfono, Tablet, Portátil) están correctamente implementadas con atributos privados. | ||
3. Implementación de la interfaz «Conectividad» | 2 | |
– La interfaz Conectividad está correctamente implementada en la clase Teléfono. | ||
4. Implementación del polimorfismo | 2 | |
– Se ha implementado una función polimórfica que recibe un objeto de tipo Dispositivo y ejecuta el método mostrarDetalles() correctamente, mostrando la información adecuada para cada subclase. | ||
5. Ejecución del código y demostración de la funcionalidad | 2 | |
– El código PHP se ejecuta sin errores. |
Instrucciones para la Entrega:
- Sube tu código fuente en un archivo comprimido (.zip) con todos los archivos PHP necesarios para ejecutar el sistema.
- El archivo debe incluir un archivo principal index.php que demuestre la ejecución del código, incluyendo polimorfismo y las instancias de las clases hijas.
- Asegúrate de que el código esté bien documentado con comentarios para facilitar la revisión.
Nota Importante:
- Se restarán puntos si no se siguen las buenas prácticas de programación como la indentación adecuada, el uso de nombres descriptivos de variables, y la documentación del código.
- Fecha límite: [inserta la fecha aquí].
Resumen de la Rúbrica
La rúbrica divide la calificación en cinco criterios clave: implementación de la clase abstracta, sobrescritura de métodos en las clases hijas, implementación de la interfaz, uso del polimorfismo, y la ejecución correcta del código. Cada criterio vale 2 puntos, para un total de 10 puntos.