Polimorfismo: El viejo desconocido.
- Federico Machado
- 13 feb
- 2 Min. de lectura
Cuando me toca entrevistar gente para Java Senior, una de las preguntas que más me gusta hacer para romper el hielo es: ¿Qué es el polimorfismo? Siento que es un concepto que muchos tienen por asumido que entienden y conocen, pero a la hora de la verdad me ha sorprendido escuchar como gente con muchos años de experiencia, flaquea al contestar esta pregunta de un concepto que me parece un pilar fundamental de la programación orientada a objetos. ¿Sabías que por ejemplo, hay dos tipos de polimorfismo? Dependiendo de dónde vengas y cómo te hayas instruido, es posible que respondas a esta pregunta de manera diferente.
La primera definición se refiere al polimorfismo estático, que trata del comportamiento en tiempo de compilación a la hora de definir métodos, en función de los parámetros de estos. Es también a veces definido como sobrecarga de métodos. Todos los métodos tienen el mismo nombre pero tienen diferentes tipos de parámetros o diferentes cantidades de parámetros. Un ejemplo clásico de este comportamiento es un método sumar(int x, int y) y un método sumar(double x, double y).
La otra definición es aquella del polimorfismo dinámico, y es a la que apunto que respondan en las entrevistas. Se trata de una manera de redefinir comportamientos a través de herencia para ahorrar código y mantenerlo lo más desacoplado posible. Otro de los ejemplos clásicos que trata de explicar este concepto es el tener una clase FiguraGeométrica, con un método que se llame public abstract int calcularArea(). Que deberá ser implementado por quienes extiendan esta clase. Es de este modo que en la clase triángulo tenemos public int calcularArea() que devuelve la base por la altura dividido dos, y en la clase rectángulo tenemos que este método devuelve la base por la altura. Si estamos recorriendo una lista de FiguraGeómetrica, a la hora de llamar el calcularArea(), se llamará al método de la clase concreta (Ya sea triángulo o rectángulo) con la implementación que definimos. Este concepto nos ayuda mucho a mejorar el desacoplamiento y la modificabilidad del código, ya que si en el futuro quiero agregar una nueva figura geométrica, no voy a tener que agregar ifs para que dependiendo de la clase que agrego, haga una cosa u otra, si no que todo se va a ejecutar polimórficamente en función de la clase concreta.
Generalmente si en nuestro código tenemos un switch o varios ifs preguntando si nuestra variable es una instancia de cierta clase (Utilizando por ejemplo instanceof) , quizás deberíamos replantearnos nuestra solución para utilizar polimorfismo dinámico. ¿Les ha pasado que han tenido que usar polimorfismo para hacer más manejable el código?
https://conifer.rhizome.org/AQUIRE02
https://greenbusinesses.com/author/aquire02/
https://doodleordie.com/profile/aquire02
https://ca-riverside-acr.publicaccessnow.com/ActivityFeed/MyProfile/tabid/24/UserId/28853/Default.aspx
https://fairygodboss.com/users/profile/3YrRQp06kq/AQUIRE02
https://forum.codeigniter.com/member.php?action=profile&uid=186570
https://bitbucket.org/aquire02/workspace/projects/
https://public.tableau.com/app/profile/auto.nexa/vizzes
https://devpost.com/chiku3318
https://www.beatstars.com/aquire02
https://mikropragmata.lifo.gr/meli/52361/
https://minne.com/@aquire02/profile
https://www.devglan.com/user/public/chiku33180
https://secondstreet.ru/profile/aquire02/
https://os.mbed.com/users/aquire02/
https://ukrainaincognita.com/wp-admin/profile.php
https://interestpin.com.au/user/aquire02/
https://employbahamians.com/author/aquire02/
https://youtopiaproject.com/author/aquire02/
https://laloidesparties.fr/author/aquire02
https://eternagame.org/players/539210
https://www.giveawayoftheday.com/forums/profile/1133188
https://bioimagingcore.be/q2a/user/AQUIRE02
ko-fi.com/aquire02
https://glose.com/u/AQUIRE02
https://willysforsale.com/author/aquire02/
https://scioly.org/forums/memberlist.php?mode=viewprofile&u=159999
https://villatheme.com/supports/users/aquire02/
https://www.worldanvil.com/author/AQUIRE02
https://1businessworld.com/pro/aquire02/
https://heavenarticle.com/author/aquire02-390016/
https://groover.co/en/band/profile/0.aquire02/
https://thegroundsman.com.au/author/aquire02/
https://www.webmastersun.com/members/aquire02.136653/#about
https://www.thebostoncalendar.com/user/118238
https://maltajobs.com.mt/author/aquire02/
https://answers.themler.io/users/aquire02
https://www.thelascopress.com/author/AQUIRE02/
https://answers.themler.io/users/AQUIRE02
https://dojour.us/u/AQUIRE02
https://thedyrt.com/member/aquire02/reviews
https://en.meetmygoods.com/user/favorite_products/AQUIRE02
https://www.1001fonts.com/users/AQUIRE02/
https://referrallist.com/profile/-auto-nexa/
https://git.forum.ircam.fr/chiku3318
https://coolors.co/u/aquire02
https://reactos.org/roslogin/?p=selfservice
https://peopleimages.com/profile/view/116956
https://g.co/kgs/sFV5X1hphone repair shop in high wycombehttps://www.theglobalinfotech.com/
low budget salon interior design
wood false ceiling design ideas
cement companies in india
modern simple pop design hall
hall royal play design ideas
skirting tiles
righest realty tycoons india
top posh areas in delhi
kitchen window design ideas
new residential projects in delhi
30 40 house plan
posh areas in gurgaon
best high rise residential societies
aquireacres sitemap
aquireacres sitemap 1
aquireacres sitemap 2
aquireacres sitemap 3
aquireacres sitemap 4
THE CRYSTALPRO MAX PLUS 10K BY WGA
R and M Tornado 9000
Wga the crystal pro max 15k puffs
Crystal Prime 7000 Disposable Vape
Oxva Xlim SE 2 Kit
ivg salts all range
THE CRYSTALPRO MAX PLUS 10K BY WGA
R and M Tornado 9000
Wga the crystal pro max 15k puffs
Crystal Prime 7000 Disposable Vape
Oxva Xlim SE 2 Kit
ivg salts all range
THE CRYSTALPRO MAX PLUS 10K BY WGA
R and M Tornado 9000
Wga the crystal pro max 15k puffs
Crystal Prime 7000 Disposable Vape
Oxva Xlim SE 2 Kit
ivg salts all range
ivg salts all range
low budget salon interior design
wood false ceiling design ideas
cement companies in india
modern simple pop design hall
hall royal play design ideas
skirting tiles
righest realty tycoons india
top posh areas in delhi
kitchen window design ideas
new residential projects in delhi
30 40 house plan
posh areas in gurgaon
best high rise residential societies
aquireacres sitemap
aquireacres sitemap 1
aquireacres sitemap 2
aquireacres sitemap 3
aquireacres sitemap 4