أظهر المثال السابق استخدام الأساليب القياسية، ولكن ليس في السيناريو العملي.
تم استخدام واجهة السلسلة على نطاق واسع، حيث اعتمدت عليها العديد من البرامج.
تم اكتشاف أن العديد من تطبيقات السلسلة أضافت طريقة تقوم بإرجاع مصفوفة تحتوي على العناصر n التالية من السلسلة.
تقرر تحسين واجهة السلسلة باستخدام طريقة getNextArray(int n)، حيث تحدد n عدد العناصر التي سيتم استرجاعها.
قبل الطرق القياسية، كانت إضافة هذه الطريقة تؤدي إلى كسر التعليمات البرمجية الموجودة التي لم تحددها.
باستخدام الطرق القياسية، يمكن إضافة الطريقة الجديدة إلى واجهة السلسلة دون التسبب في مشاكل في الأكواد الموجودة.
في بعض الحالات، تُبلغ الطرق القياسية المُضافة إلى الواجهة عن خطأ في حالة استخدامها، عندما لا يكون من الممكن توفير تطبيق يعمل في جميع المواقف.
تحدد هذه الطرق الافتراضية التعليمات البرمجية الاختيارية.
في بعض الحالات، يمكن تحديد طريقة افتراضية للعمل في أي موقف.
طريقة getNextArray() هي مثال، حيث يمكن تنفيذها باستخدام طريقة getNext() المطلوبة بالفعل من قبل واجهة السلسلة.
من الممكن تنفيذ الإصدار الجديد من السلسلة بالطريقة القياسية getNextArray().
يتم تنفيذ طريقة getNextArray() القياسية باستخدام طريقة getNext()، الموجودة بالفعل في مواصفات السلسلة الأصلية.
يمكن لأي فئة تطبق السلسلة استخدام getNextArray() دون الحاجة إلى تجاوز الطريقة.
لن يتم إبطال التعليمات البرمجية الموجودة عن طريق إضافة getNextArray().
يمكن للفئات توفير التنفيذ الخاص بها لـ getNextArray() إذا لزم الأمر.
مزايا الطريقة القياسية:
يسمح للواجهات بالتطور دون إبطال التعليمات البرمجية الموجودة.
يوفر وظائف اختيارية دون الحاجة إلى تنفيذ العنصر النائب.
في حالة getNextArray()، إذا كان تنفيذ السلسلة لا يحتاج إلى الطريقة، فإنه لا يحتاج إلى توفير تطبيق نائب، مما يؤدي إلى كود أنظف.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3