Programacion

Solo disponible en BuenasTareas
  • Páginas : 9 (2024 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de junio de 2011
Leer documento completo
Vista previa del texto
Desde el principio, la carrera por crear lenguajes de programación ha sido una carrera para intentar realizar abstracciones sobre la máquina. Al principio no eran grandes abstracciones y el concepto de lenguajes imperativos es prueba de ello.
Exigen pensar en términos del ordenador y no en términos del problema a solucionar. Esto provoca que los programas sean difíciles de crear y mantener, alno tener una relación obvia con el problema que representan No abstraen lo suficiente.
Muchos paradigmas de programación intentaron resolver este problema alterando la visión del mundo y adaptándola al lenguaje. Estas aproximaciones modelaban el mundo como un conjunto de objetos o de listas. Funcionaban bien para algunos problemas pero no para otros
Los lenguajes orientados a objetos, másgenerales, permiten realizar soluciones que, leídas, describen el problema. Permiten escribir soluciones pensando en el problema y no en el ordenador que debe solucionarlo en último extremo
Se basan en cinco características:

Todo es un objeto. Cada elemento del problema debe ser modelizado como un objeto.
Un programa es un conjunto de objetos diciendose entre sí que deben hacer por medio demensajes. Cuando necesitas que un objeto haga algo le mandas un mensajes. Más concretamente, ejecutas un método de dicho objeto.
Cada objeto tiene su propia memoria, que llena con otros objetos. Cada objeto puede contener otros objetos. De este modo se puede incrementar la complejidad del programa, pero detrás de dicha complejidad sigue habiendo simples objetos.
Todo objeto tiene un tipo. En POO,cada objeto es una instancia (un caso particular) de una clase (el tipo general). Lo que distingue a una clase de otra es la respuesta a la pregunta, ¿qué mensajes puedes recibir?
Todos los objetos de un determinado tipo pueden recibir los mismos mensajes. Por ejemplo, dado que un objeto de tipo Gato es también un objeto de tipo Animal, se puede hacer código pensando en los mensajes que se mandana un animal y aplicarlo a todos los objetos de ese tipo, sin pensar si son también gatos o no.
Eso de que la programación orientada a objetos intente establecer una relación biunívoca entre el espacio del problema y el de la solución está muy bien pero... ¿cómo hacemos que un objeto realice cosas útiles y necesarias? Por medio de su interfaz, interfaz que está definida en la clase del objeto.Por ejemplo, supongamos que tenemos la clase Interruptor cuyo interfaz define los métodos apagar() y encender(). Entonces hacemos lo siguiente:
Interfaz de un objeto
Interruptor i = new Interruptor();
i.encender();

Primero creamos una referencia llamada i de tipo Interruptor, y luego creamos un objeto, una instancia de dicho tipo, por medio de la palabra reservada new. Asignamos ese objetoa la referencia por medio del signo =. Por último, enviamos un mensaje al objeto recién creado y asignado poniendo el nombre de la referencia, un punto, y el nombre del mensaje (método).
* La programación orientadas a objetos (POO) que enfatiza en los datos, al contrario de la programación estructurada que enfatiza en los algoritmos.
* La POO es una forma de programación que utilizaobjetos, ligados mediante mensajes, para la solución de problemas.
* La Programación Orientada a Objetos (POO) se distingue por pensar en los problemas y sus soluciones a través de la implementación de objetos y su comportamiento.
* Las características fundamentales de la Programación Orientada a Objetos son: abstracción, encapsulamiento, herencia y polimorfismo.

Abstracción:
Por medio dela abstracción se consigue no detenerse en los detalles concretos de implementación en cada momento, sino generalizar y centrarse en los aspectos que permitan tener una visión global del problema.
Encapsulamiento:
Esta característica permite ver un objeto como una caja negra en la que se ha introducido de alguna manera toda la información relacionada con dicho objeto. Esto permite manipular...
tracking img