programación orientada a objetos parte 2

18
PROGRAMACAION ORIENTADA A OBJETOS II Parte 2 Mtra. Karla Silva R. 1

Upload: karla-silva

Post on 14-Jul-2015

291 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Programación Orientada a Objetos  parte 2

PROGRAMACAIONORIENTADA A OBJETOS II

Parte 2

Mtra. Karla Silva R. 1

Page 2: Programación Orientada a Objetos  parte 2

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

Page 3: Programación Orientada a Objetos  parte 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

Page 4: Programación Orientada a Objetos  parte 2

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

Page 5: Programación Orientada a Objetos  parte 2

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

Page 6: Programación Orientada a Objetos  parte 2

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

Page 7: Programación Orientada a Objetos  parte 2

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

Page 8: Programación Orientada a Objetos  parte 2

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

Page 9: Programación Orientada a Objetos  parte 2

Fundamentos de la POO

Mtra. Karla Silva R. 9

Page 10: Programación Orientada a Objetos  parte 2

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

Page 11: Programación Orientada a Objetos  parte 2

• 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

Page 12: Programación Orientada a Objetos  parte 2

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

Page 13: Programación Orientada a Objetos  parte 2

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

Page 14: Programación Orientada a Objetos  parte 2

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

Page 15: Programación Orientada a Objetos  parte 2

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

Page 16: Programación Orientada a Objetos  parte 2

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

Page 17: Programación Orientada a Objetos  parte 2

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

Page 18: Programación Orientada a Objetos  parte 2

Ejemplo

Mtra. Karla Silva R. 18