You are on page 1of 5

LENGUAJE DE PROGRAMACIÓN

VISUAL Y ORIENTADA A OBJETOS


¿Qué es la programación visual?
El concepto de programación visual es un poco confuso ya que actualmente
se le considera programación visual a los lenguajes de programación textual
que tienen una interfaz gráfica para poder visualizar lo que uno está
desarrollando.

Este concepto en programación visual es erróneo ya que este es aquel que por
medio de iconos puedes ir creando programas sin tener un lenguaje textual
atrás de él. La programación visual brinda los conocimientos necesarios para
diseñar y desarrollar aplicaciones con un entorno visual amigable y fácil de
utilizar para el usuario.

En términos formales, la programación visual (visual programming) se refiere al


desarrollo de software donde las notaciones gráficas y los componentes de
software manipulables interactivamente son usados principalmente para definir
y componer programas. La programación visual se define comúnmente como
el uso de expresiones visuales (tales como gráficos, animación o iconos) en el
proceso de la programación, pueden ser utilizadas para formar la sintaxis de los
nuevos lenguajes de programación visuales que conducen a los nuevos
paradigmas tales como programación por la demostración; o pueden ser
utilizadas en las presentaciones gráficas del comportamiento o de la estructura
de un programa.

El objetivo de la programación visual es mejorar la comprensión de los


programas y simplificar la programación en sí. Más allá, la programación visual
deberá fomentar a los usuarios finales a construir sus propios programas, que de
otra forma deben ser escritos por programadores profesionales.

PROGRAMACIÓN AVANZADA - LUIS FRANCISCO DE LEÓN LARA - N. CONTROL 15260181


Lenguajes de programación visual
La programación visual se basa en el uso de lenguajes visuales (LVP). Un
lenguaje de programación visual puede definirse como:

 Un lenguaje de programación que usa una representación visual (tal


como gráficos, dibujos, animaciones o iconos, parcial o completamente).
 Un lenguaje visual manipula información visual o soporta interacción
visual, o permite programar con expresiones visuales.
 Un lenguaje visual es un conjunto de arreglos espaciales de símbolos de
texto y gráficos con una interpretación semántica que es usada para
comunicar acciones en un ambiente.
 Los LVPs son lenguajes de programación donde se usan técnicas visuales
para expresar relaciones o transformaciones en la información.

Principales conceptos de los lenguajes visuales


Los principales conceptos relativos a los lenguajes visuales son:

 Abstracción procedural (descomposición del programa en módulos)


 Abstracción de datos, consiste en encapsular los tipos de datos
abstractos definidos por el usuario, permitiendo su acceso solo por medio
de operaciones definidas.
 Sistema de tipos
 Control de flujo
 Estructuras de control (selección, iteración)
 Formatos y estándares. Se refiere a la definición de reglas que permitan
especificar los elementos del LPV (p.ej. GXL, XGMML, GML)
 Gramáticas de lenguajes visuales. Los lenguajes visuales se especifican
por una tripleta (ID, G, B), donde:
 ID es el diccionario de iconos
 G es una gramática que especifica como pueden construirse
objetos compuestos a partir de iconos simples usando operadores
de relación espaciales.
 B es una base de conocimiento de dominio específico, la cual
contiene la información necesaria para construir el significado de la
sentencia visual (nombres de eventos, relaciones, referencias a los
objetos, etc.)

PROGRAMACIÓN AVANZADA - LUIS FRANCISCO DE LEÓN LARA - N. CONTROL 15260181


¿Qué es la programación orientada a objetos?
La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es
un paradigma de programación que viene a innovar la forma de obtener
resultados. Los objetos manipulan los datos de entrada para la obtención de
datos de salida específicos, donde cada objeto ofrece una funcionalidad.

Muchos de los objetos prediseñados de los lenguajes de programación actuales


permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos
lenguajes permiten al usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción,


polimorfismo, acoplamiento y encapsulamiento.

Los objetos son entidades que tienen un determinado "estado",


"comportamiento (método)" e "identidad": La identidad es una propiedad de
un objeto que lo diferencia del resto; dicho con otras palabras, es su
identificador (concepto análogo al de identificador de una variable o una
constante).

La programación orientada a objetos difiere de la programación estructurada


tradicional, en la que los datos y los procedimientos están separados y sin
relación, ya que lo único que se busca es el procesamiento de unos datos de
entrada para obtener otros de salida. La programación estructurada anima al
programador a pensar sobre todo en términos de procedimientos o funciones, y
en segundo lugar en las estructuras de datos que esos procedimientos manejan.
En la programación estructurada solo se escriben funciones que procesan
datos. Los programadores que emplean POO, en cambio, primero definen
objetos para luego enviarles mensajes solicitándoles que realicen sus métodos
por sí mismos.

Conceptos fundamentales
La POO es una forma de programar que trata de encontrar una solución a estos
problemas. Introduce nuevos conceptos, que superan y amplían conceptos
antiguos ya conocidos. Entre ellos destacan los siguientes:

Clase: Una clase se puede definir de las propiedades y comportamiento de un


tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la
creación de un objeto a partir de ella.

Herencia: Por ejemplo, herencia de la clase C a la clase D, es la facilidad


mediante la cual la clase D hereda en ella cada uno de los atributos y
operaciones de C, como si esos atributos y operaciones hubiesen sido definidos
por la misma D.

PROGRAMACIÓN AVANZADA - LUIS FRANCISCO DE LEÓN LARA - N. CONTROL 15260181


Objeto: Instancia de una clase. Entidad provista de un conjunto de propiedades
o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos
que consecuentemente reaccionan a eventos. Se corresponden con los
objetos reales del mundo que nos rodea, o con objetos internos del sistema (del
programa).

Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya


ejecución se desencadena tras la recepción de un "mensaje". Desde el punto
de vista del comportamiento, es lo que el objeto puede hacer. Un método
puede producir un cambio en las propiedades del objeto, o la generación de
un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede definir
como evento la reacción que puede desencadenar un objeto; es decir, la
acción que genera.
Atributos: Características que tiene la clase.

Mensaje: Una comunicación dirigida a un objeto, que le ordena que ejecute


uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
Propiedad o atributo: Contenedor de un tipo de datos asociados a un objeto (o
a una clase de objetos), que hace los datos visibles desde fuera del objeto y
esto se define como sus características predeterminadas, y cuyo valor puede
ser alterado por la ejecución de algún método.

Estado interno: Es una variable que se declara privada, que puede ser
únicamente accedida y alterada por un método del objeto, y que se utiliza
para indicar distintas situaciones posibles para el objeto (o clase de objetos). No
es visible al programador que maneja una instancia de la clase.
Componentes de un objeto: Atributos, identidad, relaciones y métodos.

Identificación de un objeto:Un objeto se representa por medio de una tabla o


entidad que esté compuesta por sus atributos y funciones correspondientes.

Variable: Es más que un contenedor interno del atributo del objeto o de un


estado interno.
Función: Es un procedimiento interno del método del objeto.

PROGRAMACIÓN AVANZADA - LUIS FRANCISCO DE LEÓN LARA - N. CONTROL 15260181


Características
Abstracción: Denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como modelo
de un "agente" abstracto que puede realizar trabajo, informar y cambiar su
estado, y "comunicarse" con otros objetos en el sistema sin revelar "cómo" se
implementan estas características.

Encapsulamiento: Significa reunir todos los elementos que pueden considerarse


pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto
permite aumentar la cohesión (diseño estructurado) de los componentes del
sistema.

Polimorfismo: Comportamientos diferentes, asociados a objetos distintos,


pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. O, dicho de
otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un comportamiento en una
referencia producirá el comportamiento correcto para el tipo real del objeto
referenciado.

Herencia: Las clases no se encuentran aisladas, sino que se relacionan entre sí,
formando una jerarquía de clasificación. Los objetos heredan las propiedades y
el comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes.

Modularidad: Se denomina "modularidad" a la propiedad que permite subdividir


una aplicación en partes más pequeñas (llamadas módulos), cada una de las
cuales debe ser tan independiente como sea posible de la aplicación en sí y de
las restantes partes.

Recolección de basura: La recolección de basura (garbage collection) es la


técnica por la cual el entorno de objetos se encarga de destruir
automáticamente, y por tanto desvincular la memoria asociada, los objetos
que hayan quedado sin ninguna referencia a ellos.

PROGRAMACIÓN AVANZADA - LUIS FRANCISCO DE LEÓN LARA - N. CONTROL 15260181

You might also like