Generation

generate functionSun, 12 Oct 2025

Crea una clase llamada Tarea que represente una tarea con atributos como nombre y estado. Implementa métodos en la clase Tarea para establecer y obtener el nombre y el estado de la tarea. Crea una clase llamada ListaTareas que contenga una lista de objetos Tarea. Implementa métodos en la clase ListaTareas para agregar, marcar como completada y eliminar tareas de la lista.

Aquí te muestro el código en JavaScript que implementa las clases `Tarea` y `ListaTareas` según tus requisitos: ```javascript // Clase Tarea class Tarea { /** * Constructor de la clase Tarea * @param {string} nombre - Nombre de la tarea * @param {boolean} estado - Estado de la tarea (true si está completada, false si no) */ constructor(nombre, estado = false) { this.nombre = nombre; this.estado = estado; } /** * Establece el nombre de la tarea * @param {string} nombre - Nuevo nombre de la tarea */ setNombre(nombre) { this.nombre = nombre; } /** * Obtiene el nombre de la tarea * @returns {string} Nombre de la tarea */ getNombre() { return this.nombre; } /** * Establece el estado de la tarea * @param {boolean} estado - Nuevo estado de la tarea */ setEstado(estado) { this.estado = estado; } /** * Obtiene el estado de la tarea * @returns {boolean} Estado de la tarea */ getEstado() { return this.estado; } } // Clase ListaTareas class ListaTareas { /** * Constructor de la clase ListaTareas */ constructor() { this.tareas = []; } /** * Agrega una tarea a la lista * @param {Tarea} tarea - Tarea a agregar */ agregarTarea(tarea) { this.tareas.push(tarea); } /** * Marca como completada una tarea en la lista * @param {number} indice - Índice de la tarea a marcar como completada */ marcarComoCompletada(indice) { if (indice >= 0 && indice < this.tareas.length) { this.tareas[indice].setEstado(true); } else { console.error("Índice inválido"); } } /** * Elimina una tarea de la lista * @param {number} indice - Índice de la tarea a eliminar */ eliminarTarea(indice) { if (indice >= 0 && indice < this.tareas.length) { this.tareas.splice(indice, 1); } else { console.error("Índice inválido"); } } /** * Obtiene la lista de tareas * @returns {Tarea[]} Lista de tareas */ getTareas() { return this.tareas; } } // Ejemplo de uso const listaTareas = new ListaTareas(); const tarea1 = new Tarea("Comprar leche"); const tarea2 = new Tarea("Hacer la cama"); listaTareas.agregarTarea(tarea1); listaTareas.agregarTarea(tarea2); console.log(listaTareas.getTareas()); listaTareas.marcarComoCompletada(0); console.log(listaTareas.getTareas()); listaTareas.eliminarTarea(1); console.log(listaTareas.getTareas()); ``` En este código, la clase `Tarea` tiene atributos `nombre` y `estado`, y métodos para establecer y obtener estos atributos. La clase `ListaTareas` tiene una lista de objetos `Tarea` y métodos para agregar, marcar como completada y eliminar tareas de la lista. El ejemplo de uso muestra cómo crear una lista de tareas, agregar tareas a la lista, marcar como completada una tarea y eliminar una tarea de la lista.

Javascript
Generate More

Want to kickstart your project?Use the new AI Studio to create your code