programación orientada a objetos parte 2

Post on 14-Jul-2015

291 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PROGRAMACAIONORIENTADA A OBJETOS II

Parte 2

Mtra. Karla Silva R. 1

Objeto• Un objeto no es más que un conjunto de variables (o

datos) y métodos (o funciones) relacionados entre sí.Los objetos en programación se usan para modelarobjetos o entidades del mundo real (el objeto hijo,madre, o farmacéutica, por ejemplo).

• Un objeto es, por tanto, la representación en unprograma de un concepto, y contiene toda la informaciónnecesaria para abstraerlo: datos que describen susatributos y operaciones que pueden realizarse sobre losmismos.

Mtra. Karla Silva R. 2

Clase

• En la programación orientada a objetos, unaclase es una construcción que se utiliza comoun modelo (o plantilla) para crear objetos de esetipo.

• El modelo describe el estado y elcomportamiento que todos los objetos de laclase comparten. Un objeto de una determinadaclase se denomina una instancia de la clase.

Mtra. Karla Silva R. 3

Instancia

• En programación, una instancia seproduce con la creación de un objetoperteneciente a una clase (se dice que seinstancia la clase). El objeto que se creatiene los atributos, propiedades y métodosde la clase a la que pertenece.

Mtra. Karla Silva R. 4

Atributos

Los atributos del objeto (estado) y lo que elobjeto puede hacer (comportamiento) estánexpresados por las variables y los métodosque componen el objeto respectivamente.

Mtra. Karla Silva R. 5

MensajeUn Mensaje es la transmisión de información de un objeto a otro,mediante dos mecanismos bien diferenciados:

1. Llamadas a métodos: un objeto A realiza una llamada a un métodode un objeto B. Esto significa que dentro del código de un método deun objeto A, se está llamando a un método del objeto B. Esta es laforma más común del paso de un mensaje.

2. Señales: un objeto A envía una Señal a un objeto B, que la procesaa través de una Recepción. Este tipo de mensajes es propio de undiseño más avanzado, como la programación con múltiples hilos o lacomunicación entre procesos que pueden estar ejecutándose en lamisma máquina o distribuidos en una red.

Mtra. Karla Silva R. 6

MétodoUn método es un conjunto de instrucciones querealizan una determinada tarea y son similares alas funciones de los lenguajes estructurados.

Del mismo modo que hay variables de instancia yde clase, también hay métodos de instancia y declase. En el primer caso, un objeto llama a unmétodo para realizar una determinada tarea, en elsegundo, el método se llama desde la propiaclase.

Mtra. Karla Silva R. 7

Tipos de MétodosComo ya se mencionó, los métodos de instancia estánrelacionados con un objeto en particular, mientras que losmétodos estáticos o de clase (también denominadosmétodos compartidos) están asociados a una clase enparticular. En una implementación típica, a los métodos deinstancia se les pasa una referencia oculta al objeto al quepertenecen, comúnmente denominada this o self(referencias a sí mismo por sus significados en inglés),para que puedan acceder a los datos asociados con elmismo.

Mtra. Karla Silva R. 8

Fundamentos de la POO

Mtra. Karla Silva R. 9

Encapsulamiento• Consiste en unir en la Clase las características y

comportamientos, esto es, las variables y métodos. Estener todo esto en una sola entidad.

• La utilidad del encapsulamiento va por la facilidad paramanejar la complejidad, ya que tendremos a las Clasescomo cajas negras donde sólo se conoce elcomportamiento pero no los detalles internos, y esto esconveniente porque nos interesará conocer que hace laClase pero no será necesario saber cómo lo hace.

Mtra. Karla Silva R. 10

• En los lenguajes estructurados esto eraimposible. Es evidente que elencapsulamiento se logra gracias a laabstracción.

• Por lo tanto, la encapsulación garantiza laintegridad de los datos que contiene unobjeto.

Mtra. Karla Silva R. 11

Ejemplo• Ejemplo 1: De un televisor, el usuario conoce su apariencia y parte

de su funcionamiento. Sólo le importa que funcionen el selector decanales, el video y el audio; no le interesa saber cómo funcionacada una de las partes internas del aparato, ese detalle sólo leinteresan al fabricante y al técnico de servicio.

• Ejemplo 2: De un animal no sólo es necesario conocer suapariencia; también se requiere conocer qué sabe hacer y cómoreacciona ante determinadas situaciones.

Mtra. Karla Silva R. 12

Herencia

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

Mtra. Karla Silva R. 13

Ejemplo de Herencia

• El perro y el gato tendrían la herencia delmamífero.

• Métodos y Atributos Mamífero

Perro Gato

Mtra. Karla Silva R. 14

Polimorfismo• Esta propiedad, en su concepción básica, se encuentra

en casi todos los lenguajes de programación. Elpolimorfismo, en su expresión más simple, es el uso deun nombre o un símbolo para representar o significarmas de una acción.

• Esta propiedad permite que un mismo método secomporte de forma distinta dependiendo de que objetolo esta ejecutando.

• La gran ventaja ofrecida por el polimorfismo es permitirque los nuevos tipos de datos sean manipulados deforma similar que los tipos de datos predefinidos,logrando así ampliar el lenguaje de programación deuna forma más ortogonal.

Mtra. Karla Silva R. 15

Ejemplo

• Por ejemplo, todos los mamíferos tienen elmétodo comer, pero este método seefectuara de forma distinta si estemamífero es un ciervo comiendo hierba,un león comiendo carne, una ballenacomiendo plancton o un niño comiéndoseun caramelo.

Mtra. Karla Silva R. 16

Abstracción

• Expresa las características esenciales deun objeto, las cuales lo distinguen de losdemás.

• Por lo tanto podemos definir la abstraccióncomo una operación intelectual quesepara las cualidades de un objeto paraconsiderarlas aisladamente o paraanalizar al objeto en su pura esencia onoción.

Mtra. Karla Silva R. 17

Ejemplo

Mtra. Karla Silva R. 18

top related