jueves, 23 de febrero de 2012

Introduccion a la Programacion Orientada A objetos

Hace tiempo vimos la POO en PHP tambien la aplicamos en .NET pero en java solo pusimos codigo a lo loco sin importar algunos conceptos basicos para entender y usar lo que es la POO, cuando es la primera vez es dificil entender algunos conceptos mas crudo cuando se empieza a usar codigo orientado a objetos mas perdido todavia.

Unos Post Anteriores pusimos un libro bastante bueno y practico en java lo que explicaba a nivel teorico practico y real como es que se puede aplicar.Hoy veremos algunos conceptos que tenemos que tener claro.

Antes cuando no existia la POO se trabajaba de otra manera es muy importante saber esto ya que de aca partio, no explicare desde que inicio el mundo sino como se hacia en lenguaje C o C++ ya que es con el que aprendi.

Esto que explicare se llaman Tecnicas de Programacion.
Programacion No estructurada 
Pequeños programas con: una sola funcion principal (main) con secuencias de instrucciones que modifican datos se usan variables globales.
Poco eficiente para grandes programas necesidad de repetir las secuencias de intrucciones.Solucion extraer las secuencias de instrucciones que se repiten fuera del programa principal Procedimientos y de ahi Nacio.

Programacion orientada a procedimientos
Descomponemos un problema en subproblemas y repetimos el proceso hasta codificarlo todo.
creamos un conjunto de funciones (o procedimientos que se comunican a travez de argumentos y variables)
Soportada tanto por C como por C++
Programa secuencia de procedimientos. el programa pasa los datos a los procedimientos, que los procesan

Programacion modular
Los procedimientos con una funcionalidad comun se agrupan en modulos el programa llama a los procedimientos de los modulos los modulos contienen datos y procedimientos cada modulo solo tiene un estado y solo existe una vez como maximo durante el programa.

Despues de todo este deschonge y si que eran bonitos problemas tanto para la depuracion de errores y peor para la implemtacion.

Programacion orientada a objetos
Se centra mas en los datos que en los procedimientoslos datos y las operaciones aplicables a ellos son objetos sobre los objetos se realizan peticiones y devuelven datos cada objeto gestiona las peticiones de forma distinta abstraccion de datos,ocultamiento de la informacion ,herencia,enlace dinamico de los mensajes a procedimientos.

Abstraccion de Datos
Resolucion de problemas : creamos un modelo abstracto del problema

Propiedades del problema:datos y operaciones.
ejemplo.
Programa para la gestion de empleados
Modelo del empleado : propiedades necesarias para resolver este problema
-> datos empleado abstracto
-> opereaciones abstractas

Pero que es Abstraccion es la habilidad de ignorar los detalles de las partes para enfocar la atencion en un nivel mas alto de un programa otro mas entendible es la capacidad de especificar las caracteristicas comunes a un conjunto de clases. Ejemplo tenemos que Analizar un Telefono pero tenemos que ignorar los detalles del telefono y centrarnos en las caracteristicas comunes como Marca y ignoramos que es un Nokia color y ignoramos que es azul,precio y ignoramos que vale 100 dolares y asi tenemos que analizar siempre pensando en las caracteristicas.

POO es la organizacion de los programas de manera que representa un modelo de la interaccion de las
cosas en el mundo real.

Cuando hacemos POO
un programa consta de un conjunto de objetos que representan elementos del mundo real interesa que hacen los objetos mas que como se hace.

En POO los datos y los procedimientos o funciones se consideran de forma seperada.un objeto es la union de una serie de datos y las funciones que operean sobre ellos.

En POO los programas se construyen como agrupaciones de objetos que interactuan entre ellos transmitiendose  ordenes e informacion.
Objetos 
Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:
  • El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
  • El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
  • 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).
Los objetos son cosas:

Datos o Atributos:
  • Valores relacionados con los objetos.
  • Definen sus caracteristicas y su estado.


Metodos
  • Un objeto puede realizar una serie de acciones.
  • Equivalen a las funciones en otros lenguajes de programacion.
  • Cada objeto puede realizar acciones relacionadas con sus propios datos.
  • Los metodos definen la funcionalidad y comportamiento de un objeto.
Eso es parte de una Introduccion Teorica Para ir mas a fondo deben de leer bastante para analizar conceptos "NO aprenderselos" Seria muy bueno que Investigaran  UML ya que eso es la Introduccion a la POO .


No hay comentarios:

Publicar un comentario