Return to Video

21-13 Polymorphism

  • 0:00 - 0:03
    Ahora Sarah te ha mostrado un ejemplo más de una interfaz y espero que te hayas
  • 0:03 - 0:07
    familiarizado con la forma en qué funcionan. Son realmente muy naturales. Pero
  • 0:07 - 0:11
    cuando se piensa en ello, algo misterioso está sucediendo. En nuestra
  • 0:11 - 0:17
    escena suburbana, teníamos una Arraylist de Dibujables. Casas, coches, perros,
  • 0:17 - 0:21
    etcétera. Nos dieron uno de ellos, lo almacenamos en una variable de tipo Dibujable, por supuesto,
  • 0:21 - 0:25
    y luego llamamos al método draw en ella. Eso tiene
  • 0:25 - 0:26
    que funcionar.
  • 0:26 - 0:31
    d pertenece al tipo Dibujable y Dibujable tiene el método draw. ¿Qué es d?
  • 0:31 - 0:36
    Es una variable, por lo que contiene una referencia a un objeto. ¿Un objeto de qué
  • 0:36 - 0:41
    clase? Quizá pienses que es un objeto de clase Dibujable. Pero espera un minuto,
  • 0:41 - 0:46
    no hay clase Dibujable. Dibujable es una interfaz. Así que no puede ser eso y,
  • 0:46 - 0:52
    de hecho, no hay manera de saber a qué clase pertenece este objeto. Solo
  • 0:52 - 0:57
    hay una cosa que sabemos sobre él, este objeto pertenece a una clase que
  • 0:57 - 1:03
    tiene un método draw. Y, de hecho, a medida que vas recorriendo el bucle de los diversos elementos en la
  • 1:03 - 1:09
    Arraylist, esta línea de código puede llamar a diferentes métodos. El método draw de
  • 1:09 - 1:12
    la clase Casa, de la clase Perro, o de alguna otra clase, hasta ahora inimaginable, que
  • 1:12 - 1:19
    también opte por implementar la interfaz Dibujable. Esta variación se llama
  • 1:19 - 1:24
    polimorfismo, que es sólo una palabra elegante para decir diferentes formas. En nuestra
  • 1:24 - 1:29
    escena, es un nombre muy apropiado porque el método draw puede dibujar
  • 1:29 - 1:34
    formas completamente diferentes dependiendo de lo que haga la clase que implementa. Pero
  • 1:34 - 1:38
    el término polimorfismo se utiliza en general en Java para indicar cualquier situación donde
  • 1:38 - 1:42
    se ha llamado al método y el método real llamado depende del tipo de
  • 1:42 - 1:50
    objeto. Ahora, ¿por qué es importante el polimorfismo? Nos permite construir sistemas
  • 1:50 - 1:54
    expandibles en los que se pueden añadir nuevos tipos sin tener que cambiar la lógica
  • 1:54 - 2:00
    esencial del programa. Me gustaría probar esto y añadir un nuevo tipo en nuestra
  • 2:00 - 2:07
    escena suburbana. Es decir una clase Pelota, simplemente el tipo de pelota que se encuentra
  • 2:07 - 2:12
    tirada en la calle. Y cuando lo hagamos, fíjate lo poco que cambiaremos
  • 2:12 - 2:13
    el programa.
Title:
21-13 Polymorphism
Description:

21-13 Polymorphism

more » « less
Video Language:
English
Team:
Udacity
Project:
cs046: Intro to Programming
Duration:
02:15

Spanish, Mexican subtitles

Revisions