domingo, 21 de noviembre de 2010

Programación orientada a objetos

 Laboratorio de lenguajes de Programación


Hola compañeros, en esta entrada les hablaré sobre la programación orientada a objetos.

Imaginense que  tienen  que hacer un trabajo, agarran su computadora y oprimen el botón para encenderla, después habren word o donde vayan a hacer su trabajo y empiezan a teclear. 

La computadora es un objeto físico que tiene propiedades: color, peso, tamaño y también puede hacer cosas, o sea tiene comportamientos: puedes bajar y subirle volumen, enviar mensajes vía internet, hacer trabajos, etc.

Sabemos que "algo" es un objeto siempre y cuando tenga nombre, se pueda describir en base a sus características y puede hacer algo o comportarse de cierta forma.

- Las características del objeto se llaman atributos o propiedades y se representan como variables.
-  Los comportamientos del objeto se llaman métodos y se representan con funciones.
-   La identidad es una propiedad de un objeto que lo diferencia de los demás.

Por ejemplo.

Objeto: Línea telefónica celular

Propiedades o atributos: nombre del dueño, número de teléfono, tipo de contrato, saldo actual, etc.

Comportamiento o métodos: realizar llamadas, recibir llamadas, consultar el saldo, etc.


Un objeto tiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases. Los objetos disponen de mecanismos de interacción que son los métodos, que favorecen la comunicación entre ellos.  Esta comunicación favorece también el cambio de estado en los objetos. Esta característica hace que sean unidades indivisibles, o sea que no se separa el estado y el comportamiento.

Los métodos y atributos están muy relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar a los atributos que tiene. 

La programación orientada a objectos es diferente a la programación estructurada, en la que los datos y los procedmientos están separados y no tienen relación, ya que lo único qu quiere es el procesamiento de datos de entrada para obtener datos de salida. La programación estructurada hace que el programador piense todo en térmisos de procedimientos o funciones, y en las estructuras de datos que esos procedimientos tienen. Los programadores de Programación orientada a objetos primero se definen los objetos para después enviarles mensajes solicitándoles que realicen los métodos por sí mismos.


Conceptos

Clase: es la decinición de las propiedades y comportamiento de un tipo de objeto concreto. Se crea un objeto a partir de una clase.

Objeto: tiene propiedades o atributos, y comportamieto o métodos los cuales reaccionan constantemente a eventos. 

Método: asociado a un objeto o a un conjunto de objetos, su ejecución se hace tras la recepción del mensaje. Es lo que un objeto puede hacer. Un método puede causar un cambio en las propiedades del objeto, o en la generación de un evento con un nuevo mensaje para otro objeto del sistema.

Evento: es un suceso del sistema (como la interacción del usuario con la computadora, o un mensaje enviado por un objeto). El sistema maneja el evento que envia el mensaje al objeto que pertenezca. También puede ser un evento, la reacción que puede tener un objeto, o sea la acción que genera.

Mensaje: una comunicación para un objeto, que le dice que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo: es el que contiene un tipo de dato asociado a un objeto (o a una clase de objetos), que hace que los datos visibles fuera del objeto. Son las características del objeto y puede ser alterado por la ejecución de algún método.

Componentes de un objeto: atributos, identidad, relaciones y métodos.

Características

  • Abstracción
  • Encapsulamieno
  • Modularidad
  • Principio de ocultación
  • Poliorfismo
  • Herencia
  • Recolecciónde basura

Existen variedad de lenguajes orientados a objetos, de los cuales los principales son:
  • ABAP
  • ABL  Lenguaje de Programación OpenEdge de Progress Software
  • ActionScript
  • Ada
  • C++
  • C#
  • Clarion
  • Clipper
  • Object Pascal (Delphi)
  • Gambas
  • Harbour
  • Eiffel
  • Java
  • JavaScript
  • Objective-C
  • Oz
  • R
  • Perl
  • PHP
  • PowerBuilder
  • Python
  • Ruby
  • Smaltalk
  • Magik
  • Vala
  • Visual FoxPro
  • Visual Basic 6.0
  • XBase++

Bueno esto es todo, espero que hayan entendido, saludos a todos:

1 comentario: