Programación orientada a objetos
Upcoming SlideShare
Loading in...5
×
 

Programación orientada a objetos

on

  • 580 views

 

Statistics

Views

Total Views
580
Views on SlideShare
497
Embed Views
83

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 83

http://fernandamorann.blogspot.com 83

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Programación orientada a objetos Programación orientada a objetos Presentation Transcript

  • *
  • La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulami ento. . En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad: *El estado está compuesto de datos o informaciones; serán 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). Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos.
  • Origen Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosión combinatoria de cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La programación orientada a objetos se fue convirtiendo en el estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de C++, una extensión del lenguaje de programación C. Su dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario, para las cuales la programación orientada a objetos está particularmente bien adaptada. En este caso, se habla también de programación dirigida por eventos. Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros. La adición de estas características condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento del código.
  • *Conceptos fundamentales La programación orientada a objetos es una forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes: Clase Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. Herencia (Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Objeto Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) Método Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Atributos Características que tiene la clase. Mensaje Una comunicación dirigida a un objeto
  • *Características de la POO Abstracción Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Encapsulamiento permite aumentar la cohesión de los componentes del sistema. Modularidad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos) Principio de ocultación El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas Polimorfismo Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. Recolección de basura la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos.
  • *Ventajas *Reusabilidad. Cuando hemos diseñado adecuadamente las clases, se pueden usar en distintas partes del programa y en numerosos proyectos. *Mantenibilidad. Debido a las sencillez para abstraer el problema, los programas orientados a objetos son más sencillos de leer y comprender, pues nos permiten ocultar detalles de implementación dejando visibles sólo aquellos detalles más relevantes. *Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos nos permite hacer modificaciones de una forma muy sencilla. *Fiabilidad. Al dividir el problema en partes más pequeñas podemos probarlas de manera independiente y aislar mucho más fácilmente los posibles errores que puedan surgir.
  • *Desventajas *Cambio en la forma de pensar de la programación tradicional a la orientada a objetos. *La ejecución de programas orientados a objetos es más lenta. *La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.
  • *El futuro de la POO *El futuro de la programación orientada a objetos probablemente se encuentra con lenguajes como Ruby y Lua, en el que se construye el concepto de objeto en el lenguaje y no siempre explícitamente controlado por el programador. Ruby, por ejemplo, trata todo como un objeto, incluyendo cadenas, números, tu programa y los contenidos del directorio en el que estás actualmente. Casi nunca tendrás que declarar nada para que sea un objeto. Eres libre de utilizar la lengua de la forma que desee: como programación orientada a objetos, como un lenguaje funcional, como lengua de procedimiento o incluso en formas que mezclan las modalidades.
  • * Lenguajes orientados a objetos Entre los lenguajes orientados a objetos se destacan los siguientes: *ABAP -> SAP Lenguaje orientado a eventos *ABL Lenguaje de programación de OpenEdge de Progress Software *ActionScript *ActionScript 3 *Ada *C++ *C# *Clarion *Clipper1 *D *Object Pascal (Embarcade ro Delphi) *Gambas *Genie *Harbour *Eiffel *Fortran 90/95 *Java *JavaScript2 *Lexico3 *Objective-C *Ocaml *Oz *R *Perl4 *PHP5 *PowerBuilder *Python *Ruby *Self *Smalltalk6 *Magik (SmallWorld) *Vala *VB.NET *Visual FoxPro7 *Visual Basic 6.0 *Visual DataFlex *Visual Objects *XBase++ *Lenguaje DRP *Scala8