12.4. Polymorfi

Det er meget kraftfuldt, at man kan erklære variabler af en interface-type. Disse kan referere til alle mulige slags objekter, der implementerer interfacet. Herefter kan vi f.eks. løbe en vektor igennem og arbejde på objekterne i den, selvom de er af vidt forskellig type.

Dette så vi i TegnbareObjekter-appletten:


    for (int n=0; n<tegnbare.size(); n++)
    {
      Tegnbar t = (Tegnbar) tegnbare.elementAt(n);
      t.tegn(g);
    }

Et interface som Tegnbar kan bruges til at etablere en fællesnævner mellem vidt forskellige objekter, som derefter kan behandles ens. Dette kaldes polymorfi. (græsk: "mange former").

Fællesnævneren - nemlig at de alle implementerer det samme interface - tillader os at arbejde med objekter uden at kende deres præcise type. Dette kan i mange tilfælde være en fordel, når vi arbejder med objekter, hvor vi ikke kender (eller ikke interesserer os for) den eksakte type.