Diseño de Clases y Métodos para la Gestión de Tareas, Contactos, Posiciones y Empleados

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,99 KB

Diseño de Clases y Métodos

Clase Tarea

Descripción: Representa una tarea con su identificador, prioridad y vencimiento.

public class Tarea {
    string identificador;
    int prioridad;
    int vencimiento;

    public Tarea(string identificador);

    public int GetPrioridad(); // Devuelve el valor del atributo prioridad

    public Tarea Copy(); // Devuelve una copia del objeto
}

Clase ListaTareas

Descripción: Gestiona una lista de tareas.

Atributos:

  • numero (int): Cantidad de tareas en la lista.
  • tareas (Tarea[]): Vector de objetos Tarea.

Métodos:

  • int GetNumero(): Devuelve la cantidad de tareas en la lista.
  • Tarea GetTarea(int posicion): Devuelve la tarea en la posición indicada. Devuelve null si la posición está fuera de rango.
  • int AñadirTarea(Tarea tarea): Añade la tarea al final de la lista. Devuelve 0 si la operación es exitosa, -1 en caso contrario.
  • ListaTareas GetTareasPorPrioridad(int prioridad): Devuelve otra lista con las tareas de una prioridad específica.
  • int GetNumeroPorPrioridad(int prioridad): Devuelve el número de tareas con una prioridad determinada.

Clase Contacto

Descripción: Representa un contacto con su nombre, teléfono y estado en línea.

public class Contacto {
    string nombre;
    string telefono;
    bool online;

    public Contacto(string nombre, string telefono);

    public string GetTelefono(); // Devuelve el valor del atributo telefono

    public bool GetOnline(); // Devuelve el valor del atributo online
}

Clase ListaContactos

Descripción: Gestiona una lista de contactos.

Atributos:

  • numero (int): Número de contactos en la lista.
  • contactos (Contacto[]): Vector de objetos Contacto.

Métodos:

  • int GetNumero(): Devuelve el número de contactos en la lista.
  • Contacto GetContacto(int posicion): Devuelve el contacto en la posición indicada. Devuelve null si la posición está fuera de rango.
  • int SetContacto(Contacto contacto): Añade el contacto a la lista. Devuelve 0 si la operación es exitosa, -1 en caso contrario.
  • Contacto GetContactoPorTelefono(string telefono): Devuelve el contacto con el teléfono indicado. Devuelve null si el teléfono no existe en la lista.
  • ListaContactos GetContactosOnline(): Devuelve una lista con los contactos que están en línea.

Clase Position

Descripción: Representa una posición geográfica con latitud, longitud y altitud.

public class Position {
    double latitude;
    double longitude;
    double altitude;

    public Position(double lat, double lon, double alt);

    public double GetAltitude(); // Devuelve el valor de la altitud

    public Position Clone(); // Devuelve una copia de la posición
}

Clase ListaPosiciones

Descripción: Gestiona una lista de posiciones geográficas.

Atributos:

  • numero (int): Cantidad de posiciones en la lista.
  • posiciones (Position[]): Vector de objetos Position.

Métodos:

  • int GetNumero(): Devuelve la cantidad de posiciones en la lista.
  • Position GetPosicion(int i): Devuelve la posición en el índice i. Devuelve null si el índice está fuera de rango.
  • int AñadirPosicion(Position posicion): Añade la posición al final de la lista. Devuelve 0 si la operación es exitosa, -1 en caso contrario.
  • ListaPosiciones GetPosicionesPorAltura(double altura): Devuelve otra lista con las posiciones con una altitud superior a la indicada.
  • int GetNumeroPorAltura(double altura): Devuelve el número de posiciones con una altitud superior a la indicada.

Clase Empleado

Descripción: Representa un empleado con su DNI, sueldo base y antigüedad.

public class Empleado {
    string dni;
    float sueldo_base;
    int antiguedad;

    public Empleado(string dni, float sueldo);

    public string GetDni(); // Devuelve el valor del atributo dni

    public void AumentarSueldo(float porcentaje); // Aumenta el sueldo base según el porcentaje

    public void IncrementarAntiguedad(); // Incrementa la antigüedad en uno
}

Clase ListaEmpleados

Descripción: Gestiona una lista de empleados.

Atributos:

  • numero (int): Número de empleados en la lista.
  • empleados (Empleado[]): Vector de objetos Empleado.

Métodos:

  • int GetNumero(): Devuelve el número de empleados en la lista.
  • Empleado GetEmpleado(int posicion): Devuelve el empleado en la posición indicada. Devuelve null si la posición está fuera de rango.
  • void AumentarSueldo(float porcentaje): Aumenta el sueldo a todos los empleados según el porcentaje.
  • int IncrementarAntiguedad(string dni): Incrementa la antigüedad del empleado con el DNI indicado. Devuelve 0 si la operación es exitosa, -1 si no se encuentra el DNI.

Clase Tarea (Proyecto)

Descripción: Representa una tarea de un proyecto con su descripción, responsable y estado.

public class Tarea {
    string descripcion;
    string responsable;
    string estado;

    public Tarea(string descripcion);

    public void AsignarResponsable(string responsable); // Asigna el responsable a la tarea

    public string GetEstado(); // Devuelve el estado de la tarea
}

Clase Proyecto

Descripción: Gestiona un proyecto con sus tareas.

Atributos:

  • numTareas (int): Número de tareas en el proyecto.
  • tareas (Tarea[]): Vector de tareas (máximo 50).

Métodos:

  • int AñadirTarea(string descripcion): Crea y añade una nueva tarea al proyecto. Devuelve -1 si no hay espacio, 0 en caso contrario.
  • int AsignarTarea(int i, string responsable): Asigna un responsable a la tarea en el índice i. Devuelve 0 si la operación es exitosa, -1 si el índice está fuera de rango.
  • int TareasPendientes(): Devuelve el número de tareas con estado "Completada".

Entradas relacionadas: