1. MARCO TEÓRICO
1.3. Valoración crítica de los conceptos principales de las distintas posiciones
1.3.4. Programación Orientada a objetos
El lenguaje de programación es el medio por el cual comunicamos a la computadora el programa o el conjunto de instrucciones que debe ejecutar para llevar a cabo actividades o solucionar problemas. Como ejemplos de lenguajes de programación tenemos a: Java, C#, C++, C, Pascal, Visual Basic, FORTRAN, COBOL, etcétera. Todo lenguaje va a permitir el manejo de los tres elementos que son parte de un programa: estructuras de datos, operaciones primitivas elementales y estructuras de control. (López, 2013)
1.3.4.2. Características de los lenguajes de programación
(López, 2013), refiriéndose a las características de los lenguajes de programación señala que: “Todo lenguaje está compuesto por un alfabeto, un vocabulario y una gramática”. (Pág. 7)
Alfabeto o conjunto de caracteres: Es el conjunto de elementos estructurales del lenguaje como son: Caracteres alfabéticos en los que están las letras minúsculas y mayúsculas; los caracteres numéricos y los caracteres especiales que son los símbolos especiales.
Vocabulario o léxico: Son el conjunto de palabras válidas o reservadas del lenguaje. Por ejemplo, las palabras do, for, while, if, else, switch, int, float, tienen un significado establecido en los lenguajes Java, C++ y C; es decir, cada lenguaje tiene sus propias palabras reservadas.
Gramática: Es el conjunto de reglas sintácticas que se deben seguir para construir frases, oraciones o instrucciones. Esto son lineamientos que nos van a permitir construir las instrucciones que vamos a transmitir a la computadora para lo que deseemos que ejecute. (López, 2013)
1.3.4.3. Introducción a la programación orientada a procedimientos (Balagurusamy, 2007), en su estudio expresa que:
A la programación convencional, usando lenguajes tales como COBOL, FORTRAN y C, se conoce comúnmente como programación orientada a procedimientos (POP). En el enfoque orientado a procedimientos, el problema se visualiza como una secuencia de cosas a realizar tales como leer, calcular e imprimir (…) la programación orientada a procedimientos básicamente consiste en escribir una lista de instrucciones (o acciones) para que las realice la computadora, y organizar estas instrucciones en grupos denominados funciones. Normalmente usamos un diagrama de flujo para organizar estas acciones u representar el flujo de control de una acción a otra. (Págs. 4 – 5).
1.3.4.4. Programación Orientada a Objetos
(Balagurusamy, 2007), refiriéndose a la programación orientada a objetos indica que:
El principal factor que motivó la invención del enfoque orientado a objetos fue eliminar algunos de los defectos encontrados en el enfoque orientado a procedimientos. POO trata a los datos como un elemento crítico en el desarrollo del programa y no permite que fluyan libremente por el sistema. Une los datos con las funciones que operan sobre ellos, los protege de modificaciones accidentales por parte de funciones externas. POO permite la descomposición de un problema en una serie de entidades llamadas objetos y luego construye los datos y las funciones alrededor de estos objetos. (p. 6).
1.3.4.5. Características de la Programación Orientada a Objetos Algunas de las características de la programación orientada a objetos son:
Los programas se van a dividir como objetos.
Las estructuras de datos se van a diseñar acorde a la caracterización de los objetos.
Las funciones que operan sobre los datos de un objeto se juntan con la estructura de datos.
Los datos se ocultan y éstos no pueden ser accedidos por funciones externas.
Los objetos se van a comunicar entre sí mediante las funciones.
Nos permite añadir fácilmente nuevos datos y funciones cada que se requiera.
Tiene un enfoque ascendente en el diseño del programa. (Balagurusamy, 2007)
1.3.4.6. Conceptos básicos de la programación orientada a objetos
En cuanto a los conceptos básicos de la programación orientada a objetos tenemos algunos de ellos como:
Objetos: Son las entidades básicas en tiempo de ejecución en un sistema orientado a objetos, dichos objetos pueden representar a una persona, un lugar, una cuenta bancaria, una tabla de datos o cualquier elemento que el programa tenga que manipular.
Clases: Los objetos contienen datos y códigos para manipular dichos datos, y estos están definidos por el usuarios con la ayuda de una clase. Una clase es por tanto una colección de objetos del mismo tipo. Por ejemplo, mango, manzana y naranja son miembros de la clase fruta.
Abstracción de datos y encapsulación: La encapsulación es la envoltura de datos y funciones en una sola unidad, estos no son accesibles al mundo exterior ya que solamente aquellas funciones que están envueltas en la clase pueden acceder a ellos; mientras que la abstracción se refiere al acto de representar las características esenciales en incluir los detalles de fondo o las explicaciones, es decir, son los atributos que se le van asignar de acuerdo a la clase.
Herencia: La herencia es el proceso por el cual los objetos de una clase obtienen las propiedades de los objetos de otra clase. En la programación orientada a objetos es posible derivar una nueva clase a partir de otra existente.
Polimorfismo: Es polimorfismos significa la posibilidad de tomar más de una forma. El polimorfismo juega un papel importante ya que permite que los objetos tengan
diferentes estructuras internas para compartir la misma interfaz externa. El polimorfismo se usa con la herencia.
Ligadura dinámica: Por ligadura se entiende el enlace que hay de una llamada a un procedimiento con el código a ejecutar en respuesta a la llamada. Está asociada con el polimorfismo y la herencia. (Balagurusamy, 2007)
1.3.4.7. Ventajas de la POO
La Programación Orienta a Objetos ofrece varias ventajas tanto para el diseñador del programa como para el usuario. Las principales ventajas son:
Mediante la herencia, podemos eliminar código redundante y extender el uso de clases existentes.
Nos permite construir programas a partir de módulos de trabajo estándar los mismos que se comunican entre sí, en lugar de tener que empezar desde cero la escritura del código. Esto es una ventaja ya que hay ahorro en el tiempo y aumenta la productividad
Con la ayuda del principio de ocultación de datos facilita al programador a elaborar programas seguros que no pueden ser invadidos por código de otras partes del programa.
Nos da la posibilidad de tener múltiples copias de un objeto que coexisten sin ninguna interferencia.
Permite transformar objetos del dominio del problema a otros en los programas.
Facilita dividir el trabajo de un proyecto basado en objetos.
Permite mejorar y actualizar fácilmente los sistemas orientados a objetos desde los pequeños hasta los grandes sistemas.
1.3.5. HTML