programacion orientada a objetos

Post on 03-Nov-2014

854 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Programación orientada a objetos

Camilo Godoy - Marti Maturana

Programación de computadores

Lenguajes tradicionales

Funcionamiento en el concepto

Una función es simplemente un conjunto de instrucciones

que operan sobreunos argumentos y producen

un resultado

Tipos de lenguaje

Lenguaje de objetos

Funcionamiento en el objeto

Un objeto es la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y

operaciones que pueden realizarse sobre los mismos.

lenguaje orientado a objetos es un lenguaje de programación que permite el diseño de aplicaciones orientadas a objetos.

Método de descomposición en objetos “filosofía” sólo hay una y lenguajes muchos.

Lenguaje orientado a objetos

Objeto

Variables (datos) Estado

Métodos (funciones) Comportamiento

Objeto

Bicicleta modelada como un objeto:

Atributos: Velocidad Cadencia Marcha Métodos: Cambiar marcha Frenar Cambiar cadencia

Representación de un objeto

Proteger las variables con los métodos, es decir oculta los procesos internos, el nucleó de las variables es protegido por métodos o funciones como podemos apreciar en el siguiente ejemplo

Encapsulación

Capacidad de crear módulos: El código fuente de un objeto puede escribirse y mantenerse independiente del código fuente del resto de los objetos. De esta forma, un objeto puede pasarse fácilmente de una parte a otra del programa.

Protección de información: Un objeto tendrá una interfaz pública perfectamente definida que otros objetos podrán usar para comunicarse con él. De esta forma, los objetos pueden mantener información privada y pueden cambiar el modo de operar de sus funciones miembros sin que esto afecte a otros objetos que usen estas funciones miembro. Es decir, no necesitamos entender cómo funciona el mecanismo de cambio de marcha para hacer uso de él.

Beneficios de la encapsulación

Método por el cual los objetos de un programa interactúan entre si. Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones miembro (métodos de B), el objeto A manda un mensaje al objeto B.

mensajes

La siguiente figura muestra las tres partes que componen un mensaje:

1. El objeto al cual se manda el mensaje (TuBicicleta).2. El método o función miembro que debe ejecutar

(CambiarDeMarcha).3. Los parámetros que necesita ese método (Marcha)

mensajes

Estas tres partes del mensaje (objeto destinatario, método y parámetros) son suficienteinformación para que el objeto que recibe el mensaje ejecute el método o la funciónmiembro solicitada

El comportamiento de un objeto está completamente determinado por sus métodos, así que los mensajes representan todas las posibles interacciones que pueden realizarse entre objetos.

Los objetos no necesitan formar parte del mismo proceso, ni siquiera residir en un mismo ordenador para mandarse mensajes entre ellos.

Ventaja de los mensajes

Serie de códigos que define a todos los elementos relacionados con ella, se compone de propiedades, métodos y eventos.

clase

El mecanismo de herencia permite definir nuevas clases partiendo de otras yaexistentes. Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero además pueden introducir características

particulares propias que las diferencian.

herencia

Simula (1967) primer lenguaje que posee las características principales de un lenguaje orientado a objetos. Creado para hacer programas de simulación, en donde los "objetos" son la representación de la información más importante.

Smalltalk (1972 a 1980) es posiblemente el ejemplo canónico, y con el que gran parte de la teoría de la programación orientada a objetos se ha desarrollado.

Algunos de los muchos lenguajes orientados a objetos son los siguientes: C++ Java JavaScript (la herencia se realiza por medio de la programación basada

en prototipos) Smalltalk (Entorno de objetos puro) Visual Basic 6.0 XBase++ PHP (a partir de su versión 5)

Lenguajes orientados a objetos

top related