Fundamentos de Programación Orientada a Objetos y Diseño de Interfaces de Usuario

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)

  1. Facilidad de Aprendizaje: Facilidad con la que nuevos usuarios desarrollan una interacción efectiva con el sistema.
  2. Facilidad de Uso: Facilidad con la que el usuario hace uso de la herramienta, con pasos naturales a su formación.
  3. Flexibilidad: Variedad de posibilidades con las que el usuario y el sistema pueden intercambiar información.
  4. 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”.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.