Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

POLI

MORFISMO

Programación Orientada a Objetos

Polimorfismo

Polimorfismo

Es una relajación del sistema de tipos, de tal manera que una referencia a una clase (atributo, parámetro o declaración local o elemento de un vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas (hijas, nietas, …).

Tipos

Polimorfismo de sobrecarga.

Polimorfismo paramétrico.

Polimorfismo de inclusión.

Herencia y las clasificaciones

Veremos que el polimorfismo y la herencia son dos conceptos estrechamente ligados. Conseguimos implementar polimorfismo en jerarquías de clasificación que se dan a través de la herencia. Por ejemplo, tenemos una clase vehículo y de ella dependen varias clases hijas como coche, moto, autobús, etc.

Herencia

Jerarquización

Jerarquización

Es un proceso por el cual se crean organizaciones de elementos en distintos niveles. No es un concepto específicamente de POO, sino que es algo que vemos en la vida real en muchos ámbitos, algo inherente a cualquier tipo de sistema. Puedo tener diversos tipos de jerarquías, como clasificación o composición.

Polimorfismo en objetos

Objetos

Tal como funcionan los lenguajes fuertemente tipados, una variable siempre deberá apuntar a un objeto de la clase que se indicó en el momento de su declaración. Una función cuyo parámetro se haya declarado de una clase, sólo te aceptará recibir objetos de esa clase. Un array que se ha declarado que es de elementos de una clase determinada, solo aceptará que rellenemos sus casillas con objetos de esa clase declarada.

Explicación

Esa variable "misVehiculos" es un array y en ella he declarado que el contenido de las casillas serán objetos de la clase "Vehiculo". En lenguajes fuertemente tipados sólo podría contener objetos de la clase Vehiculo. Pues bien, polimorfismo es el mecanismo por el cual podemos "relajar el sistema de tipos", de modo que nos acepte también objetos de las clases hijas o derivadas. Por tanto, la "relajación" del sistema de tipos no es total, sino que tiene que ver con las clasificaciones de herencia que tengan en sus sistemas de clases. Si se define un array con casillas de una determinada clase, el compilador también aceptará que se ingrse en esas casillas objetos de una clase hija de la que fue declarada.

Abstracción

La abstracción es un proceso de interpretación y diseño que implica reconocer y enfocarse en las características importantes de una situación u objeto, y filtrar o ignorar todas las particularidades no esenciales.

-Dejar a un lado los detalles de un objeto y definir las características específicas de éste, aquellas que lo distingan de los demás tipos de objetos.

-Hay que centrarse en lo que es y lo que hace un objeto, antes de decidir cómo debería ser implementado.

-Se hace énfasis en el qué hace más que en el cómo lo hace

Ejemplo

Aves

Objeto: Pájaro

Características:

Pico

Alas

Patas

Plumas

Funcionalidades:

Volar

Picar

Aterrizar

Learn more about creating dynamic, engaging presentations with Prezi