PROGRAMACIÓN ORIENTADA A OBJETOS
Profesor: DARIO CARDACCI
Nos solicitan crear un programa que maneje una lista de personas y los autos que estas poseen. Nos indican que una persona puede ser dueño de más de un auto. Pero que los autos poseen como máximo un titular.
Características
* DNI (cadena lectura/escritura)
* Nombre (cadena lectura/escritura)
* Apellido (cadena lectura/escritura)
Métodos
* Lista de autos (Retorna la lista de autos que la persona es dueño)
* Cantidad de autos (Retorna la cantidad de autos que posee la persona)
Constructor
* Un constructor con todos los parámetros que permiten inicializar las propiedades.
Finalizador
* Que cuando el objeto queda liberado muestre una leyenda indicando el DNI de la Persona.
Características
* Patente (cadena lectura/escritura)
* Marca (cadena lectura/escritura)
* Modelo (cadena lectura/escritura)
* Año (cadena lectura/escritura)
* Precio (decimal lectura/escritura)
Métodos
* Persona Dueño (Retorna el dueño del auto) [CORREGIDO: Estaba invertido].
Constructor
* Un constructor con todos los parámetros que permiten inicializar propiedades.
Finalizador
* Que cuando el objeto queda liberado muestre una leyenda indicando la Patente del Auto.
Nos solicitan que la GUI (interfaz gráfica del usuario) permita visualizar en grillas:
* La lista de las personas. (Grilla 1)
* La lista de los autos. (Grilla 2)
* Los autos de la persona seleccionado en la grilla 1. (Grilla 3)
* Una grilla (Grilla 4) con los siguientes datos y en el siguiente orden de columnas, para cada auto de la grilla 2: Marca, Año, Modelo, Patente, DNI del dueño, “Apellido, Nombre” del dueño en una misma columna. (Grilla 4) [CORREGIDO: Esto era redundante, así que se hizo para todos los autos asignados de forma de equilibrar el Form: Grilla 2 para autos disponibles y Grilla 4 para autos asignados].
La GUI debe tener botones para:
* Agregar personas y autos.
* Borrar personas y autos.
* Modificar personas y autos.
* Asignarle a la persona seleccionada en la grilla 1 el auto seleccionado en la grilla 2
Además:
* La GUI debe tener una etiqueta donde se observe el valor correspondiente a la suma de los precios de los autos de la persona seleccionada en la grilla 1.
* [CORREGIDO: Se agregó un TextBox para la cantidad de autos que tiene persona].
* También nos solicitan que cada valor ingresado sea validado de manera que no se introduzcan datos inconsistentes.
A considerar para la resolución:
* Listas de programación
* Clases
* Instancias
* Propiedades
* Métodos
* Constructores
* Finalizadores
* Programación Orientada a Objetos
* Try…Catch.
Bueno, esta práctica se extendió mucho más allá de lo que originalmente se propuso. Así que algunas notas voy a estar incluyendo en este documento.
| Tecnología | Tipo de modelo de datos | Nombre común |
|---|---|---|
| XML | Jerárquico / basado en nodos | Jerárquico |
| JSON (LiteDB, MongoDB) | Documento / árbol de objetos | Documental |
| CSV | Plano / tabular | Tabular (no tipado) |
| SQLite | Relacional | Relacional |