En entradas anteriores hemos explicado cómo instalar eclipse, y cómo crear nuestro primer proyecto. Sin embargo, llegados a este punto nos hemos dado cuenta de que antes de avanzar en el terreno de la creación de nuestras aplicaciones, debemos tener una serie de conocimientos previos, que nos ayuden a entender cómo debemos escribir nuestro código, y por qué.
TÉCNICAS DE PROGRAMACIÓN
A la hora de programar podemos usar distintas técnicas de programación que han ido evolucionando con el tiempo. Los tipos de programación pueden ser programación declarativa o programación imperativa.
En la programación declarativa (o paradigma declarativo): Se declara un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones, etc. Que detallan la solución del problema. Y no se dice exactamente los pasos que hay que seguir para resolver el problema. En general solo se pide lo que se quiere obtener, y no hay que especificar los pasos que el programa tendría que realizar para hacerlo. Por ejemplo lenguajes procedurales (PL/SQL).
En la programación imperativa (paradigma imperativo): Se representa un enfoque particular de presentación de software que describe los pasos, las instrucciones, los cálculos, los procedimientos que hay que realizar para resolver los cálculos. Algunos lenguajes imperativos:
- Basic
- C
- C++
- C#
- JAVA
- PASCAL
- Etc.
Respecto a las técnicas del programador la programación puede ser:
Programación estructurada: Consiste en escribir ficheros de código fuente de forma clara usando tres estructuras básicas:
- Secuencial
- Selectiva
- Iterativa
Programación modular: Consiste en dividir los programas en funciones, métodos y procedimientos (en general programas que llaman a otros programas, o que devuelven un valor a otro programa). Permite la modificación del programa de manera mucho más eficiente. Además permite reaprovechar el código.
Programación Orientada a Objetos POO (Sí, nos hemos dado cuenta de que su acrónimo es “mierda” en ingles…): Es una filosofía para construir aplicaciones que define los programas en términos de clases de objetos. Y estos objetos tienen propiedades, métodos, y otras muchas más estructuras. Se pretende trabajar tratando de tener una colección de objetos que interactúan entre ellos, buscando la similitud con la vida real.
Ejemplo de objeto coche:
- Coche.color
- Coche.modelo
- Coche.izquierda
- Coche.arranque
Color y modelo sería una propiedad del objeto, en general emulan el aspecto de un objeto.
Izquierda y derrape, serían ejemplos de métodos de la clase coche. En general los métodos cambian el comportamiento de la clase.
Para que esto quede un poco más claro, una clase sería el concepto del objeto. En el ejemplo antes citado, la clase sería Coche como concepto. Todos los coches tienen marca, modelo, ruedas, volante, ejes, frenos, depósito de gasolina… El objeto sería el resultado de traer ese concepto a la realidad, lo que en el ejemplo del coche nos daría un coche ya fabricado.
De ese coche, tendríamos una serie de valores que lo identifican como tal, de manera que al darle valores se diferencie con los demás (creando ya el objeto), de esta manera Coche.color y Coche.modelo serían estos valores propios, que responderían a sus propiedades.
Así mismo, la clase Coche consta de una serie de funcionalidades. Si introducimos la llave y la giramos, el coche iniciará un proceso que termina con su arranque, pero en algunos casos se realiza con la inserción de la tarjeta y pulsando el botón de arranque, luego lo que corresponde al coche sería el concepto “arranque”. Y si giramos el volante a la izquierda, el coche ha de responder girando en ese mismo sentido. Todas estas funciones y reacciones del coche serían sus métodos.
Otro ejemplo sería la clase MesaPlegable, de la que creamos los objetos con las características:
- MesaPlegable.material=madera
- MesaPlegable.patas=4
Y un segundo objeto:
- MesaPlegable.material=plástico
- MesaPlegable.patas=3.
Ambas mesas responden al concepto (clase) de mesa plegable, sin embargo son dos objetos totalmente distintos, y responderían al método MesaPlegable.desplegar. Por lo tanto la clase MesaPlegable, como concepto, tendría las propiedades MesaPlegable.material y MesaPlegable.patas, y el método MesaPlegable.desplegar, mientras que los objetos ya tendrían valores asignados que los identificarían como únicos.
En la actualidad la técnica utilizada es la programación orientada a objetos, por lo que es tremendamente importante comprender este concepto.
Nota: Cuando creemos un objeto a partir de una clase, diremos que estamos instanciando el objeto A de la clase B.
Metodología de programación II
Latest posts by IAvilaE (see all)
- Programación Android, Cómo usar SwipeRefreshLayout - 26 April 2015
- Programación Android, Gson – Librería para parsear documentos JSON - 13 February 2015
- Programación Android, Cómo usar múltiples Fragments II - 24 January 2015
waoooo de lujo
Excelente! se entendió todo!
Muchas gracias, me alegro de que se entienda bien