Une classe n'est pas vivante en soit, il faut l'instancier.
Un prototype est vivant, il se clone.
Dans les langages objets à prototype, tu n'as que la notion d'objet qui existe. C'est un pattern singleton en lui même (que l'on s'évertue à reproduire en classe de façon crade).
De plus, comme il n'existe que la notion d'objet, l'héritage se fait au niveau de l'objet, pas de la classe. Par conséquent, l'héritage est dynamique.
Note : le proto en JS est extrêmement mal implémenté.
Mais ça permet aussi de charger des méthodes à chaud, comme en JS, vu que l'objet "mère" est vivant.
Ca permet aussi une vraie séparation physique en mémoire des proto, et donc une séparation physique de l'héritage.
En classe, B hérite A, tu instancie B, B est une concaténation de A et B.
En prototype, A est vivant, B aussi, et le mécanisme d'héritage permet d'appeler le père, qui est un objet vivant à part entière.
Cela permet ainsi de définir des arbres d'héritages complexes, du genre héritage diamant.
Ah, autre chose :
Dans le cadre de l'héritage multiple en proto : l'arbre de recherche se fait en profondeur, pas en largeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: IDE
Posté par Ontologia (site web personnel) . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 5.
Une classe n'est pas vivante en soit, il faut l'instancier.
Un prototype est vivant, il se clone.
Dans les langages objets à prototype, tu n'as que la notion d'objet qui existe. C'est un pattern singleton en lui même (que l'on s'évertue à reproduire en classe de façon crade).
De plus, comme il n'existe que la notion d'objet, l'héritage se fait au niveau de l'objet, pas de la classe. Par conséquent, l'héritage est dynamique.
Note : le proto en JS est extrêmement mal implémenté.
Mais ça permet aussi de charger des méthodes à chaud, comme en JS, vu que l'objet "mère" est vivant.
Ca permet aussi une vraie séparation physique en mémoire des proto, et donc une séparation physique de l'héritage.
En classe, B hérite A, tu instancie B, B est une concaténation de A et B.
En prototype, A est vivant, B aussi, et le mécanisme d'héritage permet d'appeler le père, qui est un objet vivant à part entière.
Cela permet ainsi de définir des arbres d'héritages complexes, du genre héritage diamant.
Ah, autre chose :
Dans le cadre de l'héritage multiple en proto : l'arbre de recherche se fait en profondeur, pas en largeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker