miércoles, 27 de noviembre de 2013

Tema 11.- Programación Orientada a Objetos

Programación Orientada a Objetos

Es un paradigma de programacion que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informaticos. Esta basado en varias tecnicas, incluyendo herencia, aplicaciones y programas informaticos. Esta basado en varias tecnicas, incluyendo herencia, cohesion, abstraccion, polimorfismo, acoplamiento y encapsulamiento.
 

Lenguajes Utilizados en POO

 
Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.
 
Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.

  • C++
  • Objective C
  • Java
  • Smalltalk
  • eC (Ecere C)
  • Eiffel
  • Lexico (en castellano)
  • Ruby
  • Python
  • OCAML
  • Object Pascal
  • CLIPS
  • Visual .net
  • Actionscript
  • COBOL
  • Perl
  • C#
  • Visual Basic.NET
  • PHP
  • Simula
  • Delphi
  • PowerBuilder
  • Maya
  • Corel draw


  • Clases y Objetos

    Objetos
    • Un objeto es una cosa tangible, algo a que se puede aprender intelectualmente o algo hacia lo que se puede dirigir una accion o pensamiento.
    • Un obejto representa un item individual e identificable, o una entidad real o abstracta, con un papel definido en el dominio del problema.
    • Un objeto tiene:
    1. Estado
    2. Comportamiento
    3. Identidad
    La estructura y el comportamiento de objetos similares se definen en sus clases comunes. El termino objeto y ejemplo (instance) de una clase son intercambiables.

    Estado de un objeto.

    El estado de un objeto abarca todas las propiedades del objeto, y los valores actuales de cada una de esas propiedades. Las propiedades de los objetos suelen ser estáticas, mientras los valores que toman estas propiedades cambian con el tiempo.
    • El hecho de que los objetos tengan estado implica que ocupan un espacio, ya en el mundo físico , ya en la memoria del ordenador.
    • El estado de un objeto está influido por la historia del objeto.
    • No deben confundirse los objetos, que existen en el tiempo, son mutables, tienen estado, pueden ser creados, destruidos y compartidos..., con los valores (los asignados a una variable, por ejemplo) que son cantidades con las propiedades de ser atemporales, inmutables.
    • El estado de un objeto representa el efecto acumulado de su comportamiento.

    Clases

     
    Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes.
    • Clase representa una abstracción, la esencia que comparten los objetos.
    • Un objeto es un ejemplo de una clase.
    • Un objeto no es una clase, y una clase no es un objeto (aunque puede serlo, p.e. en Smalltalk).
    • Las clases actuan como intermediarias entre una abstracción y los clientes que pretenden utilizar la abstracción. De esta forma, la clase muestra:
      1. visión externa de comportamiento (interface), que enfatiza la abstracción escondiendo su estructura y secretos de comportamiento.
      2. visión interna (implementación), que abarca el código que se ofrece en la interface de la clase.

    Metodos

    Métodos: conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de tener que escribilas.
    Dentro de estas instrucciones es posible acceder con total libertad a la información almacenada en los campos, pertenecientes a la clase dentro de la que el método se ha definido. Por lo que los métodos premiten manipular los datos almacenados en los objetos.
    Sintaxis:
    ()
    {
    instrucciones;
    }
     

    Herencia

    La herencia es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados.

    Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada.




    No hay comentarios:

    Publicar un comentario