Está en la página 1de 13

UNIVERSIDAD METROPOLITANA DE EDUCACIÓN, CIENCIA Y

TECNOLOGÍA
Decreto Ejecutivo 575 del 21 de julio de 2004 Acreditada mediante Resolución N°15 del 31 de octubre de 2012

FACULTAD DE TECNOLOGÍA, CONTRUCCIÓN Y MEDIO AMBIENTE LIC. SISTEMA Y


PROGRAMACIÓN
TRABAJO

LENGUAJE DE PROGRAMACIÓN VI
INTEGRANTES DEL
GRUPO:

Adelio Sánchez
Alejandro Porras
Charlies Escartín
Edward Vergara
Jasiel Rodríguez
Tomas Castillo
Yosaleny Avila

Profesor: Isaac Montenegro Espinosa


Introducción

Para empezar con esta entrada, se ha de decir que el término


"Polimorfismo" es una palabra de origen griego que significa "muchas
formas".
Este término se utiliza en la POO para "referirse a la propiedad por la
que es posible enviar mensajes sintácticamente iguales a objetos de
tipos distintos".

El Polimorfismo es uno de los 4 pilares de la programación orientada a


objetos (POO) junto con la Abstracción, Encapsulación y Herencia.
Para entender que es el polimorfismo es muy importante tener claro el
concepto de la Herencia.
POLIMORFISMO

 Permite diseñar e implementar sistemas extensibles –


Los programas pueden procesar objetos genéricos
(descritos por referencias de la superclase) – El
comportamiento concreto depende de las subclases.
EJEMPLOS DE POLIMORFISMO

Demostración del
comportamiento
polimorfismo

En este ejemplo vamos a tener una clase


padre (SelecciónFutbol) en la que
tendremos los atributos y métodos
comunes a todos los integrantes que
forman la selección española de fútbol
(Futbolistas, Entrenadores, Masajistas, etc.)
y en ella se van a implementar los métodos
del comportamiento "genérico" que deben
de tener todos los integrantes de la
selección.
EJEMPLOS

Lo primero que nos debe de llamar la atención al


ver este código es que utilizamos dos veces la
palabra reservada "abstract".

Esta palabra nos indica que la clase


"SeleccionFutbol" es una clase abstracta y las
clases abstractas no se pueden instanciar, por
tanto, nunca podremos hacer un "new
SeleccionFutbol()".
EJEMPLOS

Otra cosa que vemos es que también


utilizamos la palabra reservada
abstract en un método (en el método
entrenamiento).
Esto quiere decir que todas las clases
hijas de la clase "SeleccionFubol"
tienen que tener implementado ese
método obligatoriamente.
EJEMPLOS
SeleccionFutbol" es una clase que puede
adoptar diferentes formas y en este
ejemplo puede adoptar las formas de
"Futbolista", "Entrenador" y "Masajista".

Como vemos en el código todas las clases


hijas tienen implementada el método
"entrenamiento()" ya que como dijimos al
tenerlo en la clase padre como método
abstracto, es obligatorio que todas las clases
hijas tengan ese método.
EJEMPLO
S

Por otro lado observamos en el código que encima del método


"entrenamiento()" y otros métodos, tenemos la etiqueta
"@Override". Esta etiqueta sirve para indicar en el código que
estamos "re-escribiendo o especializando" un método que se
encuentra en la clase padre y que queremos redefinir en la clase
hija.

CLASES Y MÉTODOS ABSTRACTOS

Las subclases heredan el estado y el


comportamiento en forma de las variables y los
métodos de su superclase. La subclase puede
utilizar los ítems heredados de su superclase tal
Súper clases y subclases: y como son, o puede modificarlos o
sobrescribirlos. Por eso, según se va bajando
por el árbol de la herencia, las clases se
convierten en más y más especializadas.

Es una construcción que permite crear tipos


Una clase: personalizados propios mediante la agrupación
de variables de otros tipos, métodos y eventos.
TIPOS DE CLASES
 Class. Public:
Son muy comunes, accesibles desde cualquier otra clase en la misma librería
 
 Class. Abstract:
Las clases abstractas son aquellas que por sí mismas no se pueden identificar con
algo 'concreto' (no existen como tal en el mundo real), pero sí poseen determinadas
características que son comunes en otras clases que pueden ser creadas a partir de
ellas.
 
 Class. Final:
otras clases que pueden ser creadas a partir de ellas.
Son las que terminan la cadena de herencia. Útiles por motivos de seguridad y
eficiencia de un programa, ya que no permiten crear más sub-divisiones por debajo
de esta clase.
 
 
MODIFICADORES Y ACCESO
FINAL
 Si no se quiere que las clases derivadas sean capaces de
modificar un método o un atributo de la clase base, se añade
a ese método o atributo la palabra reservada final
MODIFICADORES Y ACCESO
FINAL
-Parámetr o s: Indica que dentro del método no podemos cambiar el valor de
dicho parámetro

• public void miMetodo(final int p1, int p2){} //no podemos cambiar valor p1

-Atributos: Indica que dentro de la clase no podemos cambiar el valor de dicho


atributo. Se utiliza para definir constantes junto con static

• public static final double PI = 3.14; //no podemos cambiar el valor

-Métodos: Indica que las clases que hereden de estas no pueden sobreescribir dicho método

• public final void myMethod(){} //no podemos sobreescribir myMethod

-Clases: Impide la extensión de clases. No se puede “heredar de ella”

• public final class myClass(){} //no podemos extender myClass


CONCLUSIÓN

El polimorfismo nos ayuda a hacer menos código a momento de hacer declaraciones cuando se
ocupan varias clases y los objetos de las mismas ya que con asignar un método se puede incluir varios
tipos de atributos que se reflejan en cada clase que se vaya a definir para obtener sus objetos o los
arroje para trabajar con ellos.

El concepto de programación orientada a objetos no es un termino nuevo, ya que ha sido utilizado en


ocasiones anteriores, dado que se basa en la idea natural de la existencia de un mundo lleno de
objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice que
está basado en objetos si soporta objetos como una característica fundamental del mismo .

También podría gustarte