Implémentation de méthodes surchargées

Vous voulez mettre en œuvre les méthodes surchargées dans votre code JavaScript. Lorsqu'une méthode est attribué à tout objet, il ne peut y avoir qu'une seule instance de cette propriété. Il n'est pas possible en JavaScript d'attribuer plusieurs propriétés du même nom. Par exemple, le code suivant ne fonctionnera pas.

 Source: / site / ROOT / articles ajax / javascript / overloaded.html CLS var = new Object (); CLS [ "method"] = function () (info ( "method1", "bonjour");) cls.method (); CLS [ "method"] = function () (info ( "method2", "bonjour");) cls.method ();
  

Dans le code exemple, il ya deux affectations à la propriété méthode. La méthode cls.method est appelé deux fois, et pour chaque appel, l'implémentation de la fonction appelée est la valeur dernière cession. Le code est trivial et est destiné à illustrer le fait que vous ne pouvez pas surcharger une méthode en l'assignant. Surcharge de méthode est utile dans les situations où un nombre variable de paramètres vont être appelés sur une méthode. Comme il n'y a pas de déclarations de type, les méthodes surchargées seront varient quant au nombre de paramètres. La logique utilisée est que si la méthode est appelée avec cinq paramètres, puis une méthode surchargée que les processus de cinq paramètres sera appelé. Si la méthode surchargée n'existe pas, l'implémentation par défaut qui a été initialement attribuée à la propriété qui sera utilisée. SolutionLa mise en œuvre de la méthode surchargée est la suivante.

 Source: / website / root / scripts / jaxson / Common.js surchargées: fonction (par exemple, funcIdentifier, newfunc) (var overloadedPrototype = function () (var embeddedFunc = __embedded; overloadedFunc var = __newFunc; if (arguments.length == __paramCount) ( overloadedFunc.apply (this, arguments);) else if (typeof (embeddedFunc) == "function") (embeddedFunc.apply (this, arguments);)) origFunc var; if (! exemple [funcIdentifier]) (origFunc = function () ();) else (= origFunc exemple [funcIdentifier];) exemple [funcIdentifier] = Generics.expand (overloadedPrototype, (__embedded: origFunc, __newFunc: newfunc, __paramCount: ParamCount (newfunc)));),

Dans la mise en œuvre, JavaScript génériques sont utilisés pour étendre la fonction overloadedPrototype. Mais il faut ajouter à cette expansion est une torsion pas utilisé auparavant. Regardez l'identifiant __paramCount. Si l'identificateur est un renvoi, puis __paramCount lorsqu'il sera étendu fera référence à une valeur numérique. Cela signifie que la fonction élargie seront codées en dur, mais parce que JavaScript génériques sont utilisés, ce n'est pas une mauvaise chose. La performance sera plus rapide car il n'ya pas besoin de calculer le nombre de paramètres que la fonction a overloadedFunc. Pour utiliser la méthode surchargée, le code suivant est utilisé:

FunctionNoParam fonction () () function FunctionOneParam (param) (info ( "FunctionTwoParam", "param =" + param);) function FunctionTwoParam (param1, param2) (info ( "FunctionTwoParam", "param1 =" + param1 + "param2 = "+ param2);) var cls = new Object (); cls.value =" original "; cls.example = function () (info (" default "," bonjour ");) ops.overloaded (cls," exemple », FunctionNoParam); ops.overloaded (cls," exemple ", FunctionOneParam); ops.overloaded (cls," exemple ", FunctionTwoParam); cls.example (" un exemple param "); cls.example (" le premier paramètre "," param second ");

Trois fonctions sont définies: FunctionNoParam, FunctionOneParam, et FunctionTwoParam. Ces fonctions servent aussi surchargé fonctions avec un nombre variable de paramètres. La variable CLS est un objet JavaScript génériques avec l'absence de méthodes ou des paramètres. La valeur donnée membre est affectée dynamiquement à la méthode par défaut. Après le manquement a été attribué, l'exemple de méthode est surchargée avec les trois fonctions surchargées en utilisant la fonction ops.overloaded. Une fois que les méthodes ont été surchargés, ils peuvent être appelés avec un nombre variable de paramètres. Les méthodes de surcharge, par exemple, va alors trouver de manière séquentielle la bonne méthode à appeler. Lors de l'implémentation des méthodes surchargées, gardez les points suivants à l'esprit:

• La méthode surchargée JavaScript expansion des médicaments génériques a été similaire à celle indiquée dans les articles précédents. La torsion a été le seul pays supplémentaire coder en dur du nombre de paramètres. Recours à des pratiques de programmation traditionnel, vous ne feriez pas ça, mais en utilisant JavaScript

génériques, il est trivial et recommandées.

• Lors de la surcharge de méthodes, vous devez fournir une implémentation par défaut si vous le voulez.

• Vous avez besoin de soutenir non seulement le nombre de paramètres à déterminer ce que vous voulez appeler, mais aussi le type. C'est un cas beaucoup plus fréquent usage, après tout. Une méthode qui accepte une chaîne peut être surchargé par une variante qui accepte un tableau et appelle la chaîne de version pour chaque élément.

• Surcharge de méthodes n'est pas possible en fonction des types, mais elle est faite selon le nombre de paramètres.

• Vous pouvez implémenter types surchargée qui filtre sur des types spécifiques. Par exemple, vous pouvez appliquer un filtre de méthode surchargée qui interroge la présence d'une valeur d'objet spécifique. Pour ce faire, vous pouvez combiner le proxy avec les articles surchargés. Articles Contenu Dynamique Worsque la création d'applications Ajax, vous allez créer des interfaces utilisateurs qui interagissent avec les données du côté serveur. Construire une interface utilisateur comprend des aspects multiples qui pourrait être considéré comme non relié. Par exemple, elle exige un certain nombre d'éléments sur un formulaire. Vous devez placer ces éléments correctement et de les vérifier. Le placement et de vérification pourraient être considérés comme indépendants, car la vérification ne procéder indépendamment de la façon dont les éléments sont placés, et vice versa. Cet article ne cherche pas à creuser à travers les détails de la façon de placer des éléments de sorte que leur utilisation est correcte. Au lieu de cela, cet article fouilles à travers des thèmes qui se concentrent sur des algorithmes tels que la vérification des éléments, HTML génération boîte de dialogue, et la génération de mise en page dynamique.

un article présenté par Sonja Lande


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «Mettre en œuvre méthodes surchargées" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 506 users browsing the articles directory