jueves, 17 de enero de 2013

Programación orientada a objetos POO


El paradigma de la programación orienta a objetos, a incorporado nuevas estrategias de desarrollo en la industria de la ingeniera del software. Paradigma, Modo de Pensar expresado en breve. 

Ejemplos de paradigma

  • Metáfora
  • Esquema-Mental
  • Visión del Mundo -> ¿Cómo pensaba la gente que era la Tierra antes de 1492?
Paradigma de Programación:
  •  ¿Estilo de Programación? 
  • Manera de Visualizar y Resolver Problemas de Programación
Primeros Lenguajes Orientados a Objetos
  • Simula: Dahl & Nygaard, Noruega, 1967
  • Smalltalk: Alan Kay, Dynabook, Xerox PARC, USA, 1980
Conceptos Básicos de la POO

a) Clase

En la programación orientada a objetos, las clases proporcionan una especie de plantilla para crear objetos. Se puede considerar que una clase es un tipo de objeto; se usa una clase para crear un objeto y luego se puede llamar a los métodos del objeto desde este código. Ejemplo: A continuación presentamos la estructura de la clase Alumno, usando la notación de UML.
b) Objeto
En java, a un Objeto se le llama instancia de una clase. Para crear un objeto, se llama al constructor de una clase, que tiene el mismo nombre que la clase. Ejemplo: En este ejemplo podemos observar el uso de la clase String.





c) Mensaje: Solicitud que recibe un objeto de efectuar una tarea

d) Método: Algoritmo o subprograma que efectúa la tarea solicitada por medio de un mensaje.


e) Abstracción; Una clase es una abstracción o una entidad esencial del problema ó la solución. Es decir La abstracción es el proceso en el cual separamos las propiedades más importantes de un objeto, de las que no lo son. Es decir, por medio de la abstracción definimos las características esenciales de un objeto del mundo real, los atributos y comportamientos que lo definen como tal, para después modelarlo en un objeto de software.  





f) Herencia de clases; Permite reusar código-conocimiento-funcionalidad en una clase-padre que hereda sus atributos y métodos a sus clases-hijas, subclases o clases-tipos derivados Ejemplos:


g) Polimorfismo; El polimorfismo es la propiedad por la cual una entidad puede tomar diferentes formas. Generalmente está entidad es una clase, y la forma en que se consigue que tome diferentes formas es por medio de nombrar a los métodos de dicha clase con un mismo nombre pero con diferentes implementaciones.

h) Encapsulamiento; También referido como ocultación de la información, el encapsulamiento es la propiedad de la orientación a objetos que nos permite asegurar que la información de un objeto le es desconocida a los demás objetos en la aplicación.



Vistas: La modularidad y ocultación de datos que permite deslindar los cambios de la representación interna del mundo exterior se basa en dos vistas para una clase-objeto. La visibilidad que se manejan son:

  • Pública (public)
  • Privada (private)
  • Protegida (protected)