Programación Orientada a Objetos (POO)
La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en la vida real que otros tipos de programación.
Conceptos Fundamentales
- Clases: Son declaraciones de objetos; también se podrían definir como abstracciones de objetos.
- Propiedades: Los atributos o propiedades son las características de los objetos. Cuando definimos una propiedad, normalmente especificamos su nombre y su tipo.
- Métodos: Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases, las llamamos métodos.
- Objetos: Son ejemplares de una clase cualquiera. Cuando creamos un ejemplar, tenemos que especificar la clase a partir de la cual se creará.
Instanciación y Acceso a Datos
Para crear un objeto, utilizamos la siguiente sintaxis:
miCoche = new Coche() ← Objeto
Con la palabra “new” especificamos que se tiene que crear una instancia de la clase que sigue a continuación.
Para acceder al estado de un objeto, ya sea para ver su valor o cambiarlo, se utiliza el operador punto:
miCoche.color = "rojo"
En este caso, el objeto es miCoche, seguido del operador punto y el nombre de la propiedad a la que deseamos acceder. En este ejemplo, estamos cambiando el estado de la propiedad del objeto a «rojo» mediante una asignación.
Un mensaje en un objeto es la acción de efectuar una llamada a un método.
Pilares de la POO
- Encapsulación: Es un procedimiento por el cual los datos y las funciones se encierran en un contenedor llamado objeto, que usamos para aislar ambos elementos de la manipulación exterior y forzar a que esta se haga de un modo controlado y validado.
- Polimorfismo: Se define como «una interfaz única, múltiples métodos». Es una característica que reduce la complejidad de los programas de forma notable.
- Herencia: Es un proceso por el cual un objeto hereda las propiedades y métodos de otro, sin necesidad de volverlas a definir desde el principio.
Interfaz Gráfica de Usuario (GUI) y Usabilidad
La Interfaz Gráfica de Usuario, también conocida como GUI (Graphical User Interface), es un programa que actúa como intermediario entre el usuario y la máquina.
La Usabilidad
La usabilidad se refiere a la facilidad con que las personas pueden utilizar una herramienta particular o cualquier otro objeto fabricado por humanos con el fin de alcanzar un objetivo concreto. Se mide a partir de pruebas empíricas y relativas:
- Empírica: Porque no se basa en opiniones o sensaciones, sino en pruebas de usabilidad realizadas en laboratorio u observadas mediante trabajo de campo.
- Relativa: Porque el resultado no es ni bueno ni malo por sí mismo, sino que depende de las metas planteadas.
Principios Básicos de Usabilidad (ISO)
- Facilidad de Aprendizaje: Facilidad con la que nuevos usuarios desarrollan una interacción efectiva con el sistema.
- Facilidad de Uso: Facilidad con la que el usuario hace uso de la herramienta, con pasos naturales a su formación.
- Flexibilidad: Variedad de posibilidades con las que el usuario y el sistema pueden intercambiar información.
- Robustez: Nivel de apoyo al usuario que facilita el cumplimiento de sus objetivos, relacionada con la capacidad de observación y recuperación de información.
Entornos de Desarrollo Integrados (IDE)
Un IDE es un entorno de programación empaquetado como una aplicación que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Ofrecen un marco de trabajo amigable para lenguajes como C++, Python, Java, C#, Delphi y Visual Basic.
Características de un IDE
- Multiplataforma.
- Soporte para diversos lenguajes de programación.
- Integración con Sistemas de Control de Versiones.
Ejemplos de IDE Populares
- Eclipse: Código abierto y multiplataforma, muy usado para diversos entornos de desarrollo.
- NetBeans: Ideal para trabajar con JAVA y sus derivados, además de ofrecer soporte para PHP.
- Geany: Entorno sencillo y ligero disponible para Linux, Mac OS X, BSD y Windows.
- CodeRun: IDE en línea para programar en PHP, Ajax, C#, CSS, JavaScript y HTML.
Tecnología Multimedia
La Multimedia es una tecnología que permite visualizar información utilizando videos, sonidos, animación, gráficos y textos.
- Aplicación Multimedia: Conjunto de archivos que, al ejecutarse, ofrecen información multimedia de manera automática.
- Multimedia Educativa: Proceso no lineal donde el estudiante lleva su propio orden en su modelo educativo.
- Multimedia Publicitaria: Uso de diferentes medios enfocados a una campaña publicitaria.
- Multimedia Comercial: Incluye bases de datos, promociones, catálogos, simuladores y páginas web.
- Multimedia Informativa: Relacionada con noticias, prensa, revistas y televisión.
- Stream: Objeto utilizado para transferir datos de manera fluida.
Controles y Métodos en Windows Forms
El método OpenFile se utiliza para abrir rápidamente un archivo desde un cuadro de diálogo en modo de solo lectura por seguridad.
Controles de Interfaz Comunes
- Label: Proporciona texto descriptivo para otros controles.
- TextBox: Utilizado para texto editable o de solo lectura, con soporte para múltiples líneas.
- Button: Permite al usuario realizar una acción al hacer clic.
- ListBox: Muestra una lista donde el usuario puede seleccionar uno o varios elementos.
- ComboBox: Cuadro combinado desplegable que permite escribir o seleccionar elementos.
- CheckedListBox: Extensión del ListBox que incluye una marca de verificación junto a los elementos.
- MonthCalendar: Control configurable para mostrar y seleccionar fechas.
- ToolTip: Muestra información de ayuda cuando el puntero se sitúa sobre un control.
- MaskedTextBox: Utiliza una máscara para validar que la entrada del usuario sea apropiada.
- Panel: Control contenedor utilizado para agrupar colecciones de otros controles.
- GroupBox: Muestra un marco con un título opcional para agrupar lógicamente controles.
- PictureBox: Se utiliza para cargar y mostrar imágenes (propiedad Image).
- NumericUpDown: Combinación de cuadro de texto y flechas para ajustar valores numéricos.
<-MediaPlayer
<-MessageBox
<-StatusBar
<-ProgressBar
<-NumericUpDown
<-PictureBox
<-GroupBox
<-Panel
<-MonthCalendar
Principios de Diseño de Aplicaciones
- SIMPLICIDAD: El tiempo del usuario es valioso. Crea aplicaciones sencillas, claras y concisas.
- EXPERIENCIA: Ofrece un valor añadido o «plus» que te diferencie de la competencia.
- DETALLE: Como dijo Mies Van der Rohe: “Dios está en los detalles”.
