Programación Orientada a Objetos
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Programación Orientada a Objetos

  • 432 views
Uploaded on

En esta presentacion usted podra conocer este tipo de paradigma de programación. Sus caracteristicas; nombres de algunos lenguajes de programacion y sus ventajas y desventajas.

En esta presentacion usted podra conocer este tipo de paradigma de programación. Sus caracteristicas; nombres de algunos lenguajes de programacion y sus ventajas y desventajas.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
432
On Slideshare
432
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. POO
  • 2. La programación orientada a objetos o POO esun paradigma de programación que usa losobjetos en sus interacciones, para diseñaraplicaciones y programas informáticos. Estábasado en varias técnicas, incluyendo herencia,cohesión, abstracción, polimorfismo,acoplamiento y encapsulamiento. Su uso sepopularizó a principios de la década de los años1990. En la actualidad, existe variedad delenguajes de programación que soportan laorientación a objetos.
  • 3. Conceptos fundamentalesLa programación orientada a objetoses una forma de programar que tratade encontrar una solución a estosproblemas. Introduce nuevosconceptos, que superan y amplíanconceptos antiguos ya conocidos.
  • 4. Componentes de un objeto: atributos,identidad, relaciones y métodos.Identificación de un objeto: un objeto serepresenta por medio de una tabla o entidad queesté compuesta por sus atributos y funcionescorrespondientes.En comparación con un lenguaje imperativo,una "variable" no es más que un contenedorinterno del atributo del objeto o de un estadointerno, así como la "función" es unprocedimiento interno del método del objeto.
  • 5. Abstracción: El proceso de abstracción permiteseleccionar las características relevantes dentro deun conjunto e identificar comportamientoscomunes para definir nuevos tipos de entidades enel mundo real. La abstracción es clave en el procesode análisis y diseño orientado a objetos, ya quemediante ella podemos llegar a armar un conjuntode clases que permitan modelar la realidad o elproblema que se quiere atacar.
  • 6. Encapsulamiento: significa reunir todos loselementos que pueden considerarsepertenecientes a una misma entidad, almismo nivel de abstracción. Esto permiteaumentar la cohesión de los componentesdel sistema. Algunos autores confunden esteconcepto con el principio de ocultación,principalmente porque se suelen emplearconjuntamente.
  • 7. Modularidad: se denomina modularidad a lapropiedad que permite subdividir unaaplicación en partes más pequeñas (llamadasmódulos), cada una de las cuales debe ser tanindependiente como sea posible de laaplicación en sí y de las restantes partes. Estosmódulos se pueden compilar por separado,pero tienen conexiones con otros módulos. Aligual que la encapsulación, los lenguajessoportan la modularidad de diversas formas.
  • 8. Principio de ocultación: cada objeto está aislado delexterior, es un módulo natural, y cada tipo de objetoexpone una interfaz a otros objetos que especifica cómopueden interactuar con los objetos de la clase. Elaislamiento protege a las propiedades de un objetocontra su modificación por quien no tenga derecho aacceder a ellas; solamente los propios métodos internosdel objeto pueden acceder a su estado. Esto asegura queotros objetos no puedan cambiar el estado interno de unobjeto de manera inesperada, eliminando efectossecundarios e interacciones inesperadas. Algunoslenguajes relajan esto, permitiendo un acceso directo alos datos internos del objeto de una manera controlada ylimitando el grado de abstracción.
  • 9. Polimorfismo: comportamientos diferentes, asociados aobjetos distintos, pueden compartir el mismo nombre; alllamarlos por ese nombre se utilizará el comportamientocorrespondiente al objeto que se esté usando. O, dicho deotro modo, las referencias y las colecciones de objetospueden contener objetos de diferentes tipos, y lainvocación de un comportamiento en una referenciaproducirá el comportamiento correcto para el tipo real delobjeto referenciado. Cuando esto ocurre en "tiempo deejecución", esta última característica se llama asignacióntardía o asignación dinámica. Algunos lenguajesproporcionan medios más estáticos (en "tiempo decompilación") de polimorfismo, tales como las plantillas yla sobrecarga de operadores de C++.
  • 10. Herencia: las clases no están aisladas, sino que se relacionanentre sí, formando una jerarquía de clasificación. Los objetosheredan las propiedades y el comportamiento de todas lasclases a las que pertenecen. La herencia organiza y facilita elpolimorfismo y el encapsulamiento, permitiendo a losobjetos ser definidos y creados como tipos especializados deobjetos preexistentes. Estos pueden compartir (y extender)su comportamiento sin tener que volver a implementarlo.Esto suele hacerse habitualmente agrupando los objetos enclases y estas en árboles o enrejados que reflejan uncomportamiento común. Cuando un objeto hereda de más deuna clase se dice que hay herencia múltiple.
  • 11. Recolección de basura: la recolección de basura es latécnica por la cual el entorno de objetos se encarga dedestruir automáticamente, y por tanto desvincular lamemoria asociada, los objetos que hayan quedado sinninguna referencia a ellos. Esto significa que elprogramador no debe preocuparse por la asignación oliberación de memoria, ya que el entorno la asignará alcrear un nuevo objeto y la liberará cuando nadie lo estéusando. En la mayoría de los lenguajes híbridos que seextendieron para soportar el Paradigma deProgramación Orientada a Objetos como C++ u ObjectPascal, esta característica no existe y la memoria debedesasignarse expresamente.
  • 12. Entre los lenguajes orientados a objetosse destacan los siguientes:ABAP -> SAP Lenguaje orientado aeventosABL Lenguaje de programación deOpen Edge de Progress SoftwareAction Script