miércoles, 17 de noviembre de 2010

*Programación Orientada a Objetos

Materia: Laboratorio de Lenguajes de Programación
Hora: Jueves v1


Éste tipo de programación es un paradigma de programación que utiliza objetos para diseñar programas informáticos, está basado en varias técnicas como:
  •  Herencia
  •  Abstracción
  •  Poliformismo 
  •  Encapsulamiento.
Los objetos combinan:

- Estado: que está compuesto por datos, es uno o varios estados que se asignan unos valores concretos.
- Comportamiento: está compuesto por los métodos con los que puede operar el objeto, es decir, que operaciones se pueden realizar con él.
- Identidad: es una propiedad de un  objeto que lo diferencia del resto.

Los objetos tienen mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos, está comunicación que se da entre ellos favorece el cambio de estado en los objetos, y esta característica que se presenta lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento.

Los métodos y los atributos están relacionados por la propiedad de conjunto, está propiedad se refiere a que una clase requiere de métodos para poder utilizar los atributos que tiene.


La programación orientada a objetos tienen origen con el lenguaje Simula 67, que fue creado para hacer simulaciones por Ole-Johan Dahl y Kristen Nygaard en Oslo.

* Algunos lenguajes que se utilizan en la Programación Orientada a Objetos son :

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

* Conceptos de Programación Orientada a Objetos:

- Clase. son las definiciones de las propiedades y comportamiento de un tipo de objeto concreto.

- Herencia. es la facilidad mediante la cual la clase hereda cada uno de los atributos y operaciones de la clase anterior, por lo tanto se utilizan los mismos métodos y variables declaradas en la anterior.

- Objeto. es una entidad provista de un conjunto de propiedades o atributos y de comportamiento o funcionalidad los mismos que después reaccionan a eventos.

- Método. es un algoritmo asociado a un objeto cuya ejecución se desencadena tras la recepción de un "mensaje".

- Evento. es un suceso en el sistema, que el sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.

- Mensaje. es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con cieros parámetros asociados al evento que lo generó.

- Propiedad o atributo. es un contenedor de un tipo de datos asociados a un objeto, que hace que los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas.

- Estado interno. es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto.

- Componentes de un objeto. son los atributos, identidad, relaciones y métodos.

- Identificación de un objeto. un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.



* Características de la Programación Orientada a Objetos:

- Abstracción: denota las características escenciales de un objeto, donde se capturan sus comportamientos, cada objeto sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar, cambiar su estado y comunicarse con otros objetos en el sistema sin revelar como se implementan estas características.

- Encapsulamiento: significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción.

- Modularidad: es la propiedad que permite subdividir una aplicación en partes más pequeñas llamadas módulos las cuales deben ser tan independientes como sea posible de la aplicación en sí y de las restantes partes.

-Principio de ocultación: se refiere a que cada objeto está aislado del exterior, quiere decir que es un módulo natural y cada tipo de objeto expone una interfaz a otros objetos que especifica como pueden interactuar con los objetos de la clase.

- Polimorfismo: comportamientos diferentes y asociados a objetos distintos, pueden compartir el mismo nombre, es decir las referencias y las colecciones pueden tener objetos de diferentes tipos.

- Herencia: se refiere a que las clases no están aisladas, sino que se relacionan entre sí formando una jerarquía de clasificación. Los objetos heredan las propiedades  y el comportamiento a todas las clases a las que pertenecen. 

- Recolección de basura: es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por lo tanto desvincula la memoria asociada, por lo que los objetos quedan sin ninguna referencia a ellos.


            



 Bueno esto es todo sobre mi entrada de Programación Orientada a Objetos, espero les sea útil :) 


Saludos :)  

1 comentario: