Polimorfisme (programació): diferència entre les revisions

Contingut suprimit Contingut afegit
m Corregit: - classes) ja + classes), ja
m nombre
Línia 80:
 
 
En un altre exemple, si els naturals, racionals, i enters són tipus tals que Natural:> Racional i Natural:> Enter, una funció escrita per tenir un númeronombre funcionarà igualment bé quan es passa un enter o racional com quan es passa d'un natural. El tipus real de l'objecte es pot amagar dels clients en una "capsa", i s'accedeix a través de la identitat de l'objecte. De fet, si el tipus de nombre és abstracta, és possible que ni tan sols sigui possible per aconseguir les seves mans en un objecte el tipus més derivat sigui natural. Aquest tipus particular de jerarquia de tipus es coneix, especialment en el context del "Llenguatge de programació en Esquema", com una torre numèrica, i en general conté molts més tipus.
 
Llenguatges de programació orientats a objectes ofereixen subtipatge polimòrfic utilitzant subclasses (també conegut com a herència). En implementacions típiques, cada classe conté el que s'anomena una taula virtual, una taula de funcions que implementen la part polimòrfica de la classe d'interfície i cada objecte conté un punter a la "vtable" de la seva classe, que és consultat a continuació, cada vegada que s'invoca un mètode polimòrfic.