تنفيذ طرق أثقل

تريد تنفيذ طرق مكتظة بالركاب في شفرة جافا سكريبت ، وعندما يتم تعيين طريقة إلى أي كائن ، لا يمكن إلا أن يكون هناك مثيل واحد من تلك الممتلكات. ليس من الممكن في جافا سكريبت لتعيين متعددة نفس خصائص المسمى. على سبيل المثال ، سوف البرمجية التالية لا تعمل.

 المصدر : / الانترنت / الجذر / مقالات اياكس / جافا سكريبت / overloaded.html cls فار = كائن جديد () ؛ cls [ "طريقة"] = الدالة () (معلومات ( "method1" ، "مرحبا") ؛) cls.method () ؛ cls [ "طريقة"] = الدالة () (معلومات ( "Method2" ، "مرحبا") ؛) cls.method () ؛
  

في رمز سبيل المثال ، هناك مهمتين للممتلكات الأسلوب. الأسلوب cls.method يسمى مرتين ، والدعوة لتنفيذ كل طالب وظيفة هو آخر قيمة الإحالة. رمز تافهة ويهدف إلى توضيح أنه لا يمكنك الزائد طريقة تعيينه من قبل. الإثقال على الطريقة مفيدة في الحالات التي يكون فيها عدد متغير من المعلمات ستكون دعا طريقة. حيث لا توجد تعريفات نوع ، سوف تختلف أساليب زائد في عدد المعلمات. المنطق المتبع هو أنه إذا كان يتم استدعاء الأسلوب مع خمسة المعلمات ، ثم وسيلة كانت مكتظة بالركاب العمليات خمس معلمات وسوف يطلق. إذا كان الأسلوب زائدة لا وجود لها ، وتنفيذ الافتراضي الذي كان في البداية تعيين الخاصية سوف تستخدم. الحلتنفيذ الأسلوب زائدة هي على النحو التالي.

 المصدر : / الانترنت / الجذر / مخطوطات / jaxson / Common.js مثقلة : وظيفة (مثلا ، funcIdentifier ، newFunc) (overloadedPrototype فار = الدالة () (embeddedFunc فار = __embedded ؛ overloadedFunc فار = __newFunc ، وإذا كان (arguments.length == __paramCount) ( overloadedFunc.apply (هذا ، والحجج) ؛) والا اذا (typeof (embeddedFunc) == "وظيفة") (embeddedFunc.apply (هذا ، والحجج) ؛)) origFunc فار ، وإذا (! سبيل المثال [funcIdentifier]) (origFunc = وظيفة () () ؛) والا (origFunc = سبيل المثال [funcIdentifier] ؛) سبيل المثال [funcIdentifier] = Generics.expand (overloadedPrototype ، (__embedded : origFunc ، __newFunc : newFunc ، __paramCount : ParamCount (newFunc))) ؛) ،

في التنفيذ ، وجافا سكريبت الأدوية التي تستخدم لتوسيع وظيفة overloadedPrototype. لكنه أضاف أن هذا التوسع هو تطور لم تستخدم سابقا. نظرة على المعرف __paramCount. إذا كان المعرف هو إسناد ترافقي ، ثم __paramCount عندما يتم توسيع سوف مرجعية قيمة رقمية. وهذا يعني أن وظيفة الموسعة ستكون مضمنة ، ولكن لأن جافا سكريبت الأدوية المستخدمة ، وهذا ليس أمرا سيئا. الأداء سيكون أسرع لأنه ليست هناك حاجة لحساب عدد من المعلمات أن الوظيفة قد overloadedFunc. لاستخدام أسلوب طاقتها ، ويتم استخدام التعليمات البرمجية التالية :

FunctionNoParam الدالة () () الدالة FunctionOneParam (المعلمة) (معلومات ( "FunctionTwoParam" ، "المعلمة =" + المعلمة) ؛) الدالة FunctionTwoParam (param1 ، param2) (معلومات ( "FunctionTwoParam" ، "param1 =" + + param1 "param2 = "+ param2) ؛) cls فار = كائن جديد () ؛ cls.value =" الأصلي "؛ cls.example = الدالة () (معلومات (" التقصير "،" مرحبا ") ؛) cls (ops.overloaded" سبيل المثال "، FunctionNoParam) ؛ ops.overloaded (cls ،" مثال "، FunctionOneParam) ؛ ops.overloaded (cls ،" مثال "، FunctionTwoParam) ؛ cls.example (" مثال واحد المعلمة ") ؛ cls.example (" المعلمة الأولى "،" المعلمة الثانية ") ؛

ثلاث وظائف محددة : FunctionNoParam ، FunctionOneParam ، وFunctionTwoParam. وهذه المهام تكون مثقلة بمهام مختلفة مع عدد من المعلمات. cls المتغير هو كائن عامة جافا سكريبت مع أي أساليب أو والمعلمات. البيانات قيمة يتم تعيين عضو حيوي في الأسلوب الافتراضي. وبعد أن تم تعيين الافتراضي ، على سبيل المثال طريقة مثقلة الوظائف الثلاث مثقلة باستخدام الدالة ops.overloaded. مرة واحدة من الأساليب قد زائدة ، ويمكن وصفها بأنها مختلفة مع عدد من المعلمات. أساليب زائدة ، على سبيل المثال ، سوف ثم بالتسلسل العثور على الأسلوب الصحيح للدعوة. عند تنفيذ الطرق مكتظة بالركاب ، والحفاظ على النقاط التالية في الاعتبار :

• الأسلوب مثقلة جافا سكريبت الجنيسة توسيع كانت مماثلة لتلك المبينة في المواد السابقة. في تطور إضافي فقط هو الثابت الترميز من العد المعلمة. استخدام ممارسات البرمجة التقليدية ، فإنك لن تفعل ذلك ، ولكن باستخدام جافا سكريبت

الوراثة انها تافهة والموصى بها.

• عندما تكون الحمولة الزائدة الأساليب ، تحتاج إلى توفير تطبيق الافتراضي إذا كنت تريد ذلك.

• أنت بحاجة إلى دعم ، ليس فقط لعدد من المعلمات لتحديد ما الذي تريد الاتصال به ، ولكن أيضا نوع. هذا هو أكثر شيوعا استخدام القضية ، بعد كل شيء. والأسلوب الذي يقبل سلسلة يمكن أن يكون زائدا عن طريق البديل الذي يقبل صفيف ويستدعي إصدار سلسلة لكل عنصر.

أساليب الإثقال • ليس من الممكن وفقا للأنواع ، ولكن هو مصنوع وفقا لتعداد المعلمة.

• هل يمكن تطبيق أنواع التصفية كانت مكتظة بالركاب على أنواع معينة. على سبيل المثال ، هل يمكن تنفيذ حمل زائد على أسلوب التصفية التي الاستفسارات وجود قيمة معينة الكائن. للقيام بذلك ، يمكنك ضم الوكيل مع مواد زائدة. الحيوي محتوى المواد دبليوالدجاجة اياكس بناء التطبيقات ، تقوم بإنشاء واجهات المستخدم التي تتفاعل مع البيانات الموجودة على الخادم الجانب. بناء على واجهة مستخدم يشمل الجوانب المتعددة التي يمكن اعتبارها غير ذات صلة. على سبيل المثال ، فإنه يتطلب عددا من العناصر في نموذج. عليك أن تضع هذه العناصر بشكل صحيح والتحقق منها. والتحقق من وضع يمكن أن يعتبر غير ذات صلة ، وذلك لأن التحقق يمكن المضي قدما بغض النظر عن الكيفية التي يتم وضعها عناصر ، والعكس بالعكس. هذا المقال ليس محاولة لحفر من خلال تفاصيل عن كيفية وضع العناصر بحيث قابليتها للاستخدام هو الصحيح. بدلا من ذلك ، وهذه المادة من خلال الحفريات التي تركز على موضوعات مثل خوارزميات التحقق عنصر ، أتش تي أم أل مربع الحوار جيل ، وديناميكية تصميم جيل.

مقال مقدم من سونيا Lande


تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات.
المهم : هذه المادة "تطبيق أساليب أثقل" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.


Online: 212 users browsing the articles directory   


  

|