resumen de polimorfismo
TRANSCRIPT
U N I V E RSI D AD T EC N O LÓ GI CA D E L ES T AD O D E
Z AC AT E C AS
U N I D AD AC AD EM I C A D E P I NO S
T E C N O L O G Í AS D E L A I N F O R M A C I Ó N Y C O M U N I C A C I Ó N
TEMA:
RESUMEN “POLIMORFISMO”
MATERIA:
PROGRAMACION PARA APLICACIONES
PROFESOR:
I.S.C. OMAR EMMANUEL LARA JUAREZ
ALUMNO(A):
JOSE DE JESUS CISNEROS MORALES
CARRERA:
INGENIERIA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
MATRICULA:
481200621
GRADO Y GRUPO
9° CUATRIMESTRE “A”
PINOS, ZACATECAS. JULIO DEL 2015
El 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.
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.
Para entender la importancia del tipado de datos, conveniente entender cómo es
un lenguaje fuertemente tipado, como es el caso de Java o C.
En estos lenguajes, cuando defino una variable, siempre tengo que decir el tipo de
datos que va a contener esta variable.
A veces, a los lenguajes fuertemente tipados se les llama de "tipado estático" y a
los débilmente tipados se les llama "tipado dinámico".
Ejemplo:
Tenemos la clase Parking. Dentro de ésta tenemos un método estacionar ().
Puede que en un parking tenga que estacionar coches, motos o autobuses. Sin
polimorfismo tendría que crear un método que permitiese estacionar objetos de la
clase "Coche", otro método que acepte objetos de la clase "Moto" para
estacionarlos, etc. Pero todos estaremos de acuerdo que estacionar un coche, una
moto o un bus es bastante similar: "entrar en el parking, recoger el ticket de entrar,
buscar una plaza, situar el vehículo dentro de esa plaza...".
Lo ideal sería que nuestro método me permita permita recibir todo tipo de
vehículos para estacionarlos, primero por reutilización del código, ya que es muy
parecido estacionar uno u otro vehículo, pero además porque así si mañana el
mercado trae otro tipo de vehículos, como una van, todoterreno hibrido, o una
nave espacial, mi software sea capaz de aceptarlos sin tener que modificar la
clase Parking.
Gracias al polimorfismo, cuando declaro la función estacionar() puedo decir que
recibe como parámetro un objeto de la clase "Vehículo" y el compilador me
aceptará no solamente vehículos genéricos, sino todos aquellos objetos que
hayamos creado que hereden de la clase Vehículo, ósea, coches, motos, buses,
etc. Esa relajación del sistema de tipos para aceptar una gama de objetos
diferente es lo que llamamos polimorfismo.
Conclusión
Queda más que claro que el polimorfismo es un herramienta esencial sobre todo
cuando se requiere manejar la misma información o datos en distintos objetos esto
facilitando y agilizando el proceso que se está realizando, por su puesto como en
todo hay restricciones y en este caso se trata de lograr que los distintos objetos
puedan responder el mensaje de la información enviada, pero solo es cuestión de
practicar para obtener una herramienta eficaz dentro de la programación.
En cuanto a los lenguajes tipados me parece de mejor uso porque desde un
principio establecemos el tipo de dato y así podemos establecer un mejor control
de nuestros datos y evitar choques de información aun los lenguajes no tipados
también ofrecen la ventaja de estar abiertos a cualquier tipo de dato para nuestra
variable en caso de que se no olvide o no se desee llevar un control tan estricto.