التظليل بمفهوم خاص في JavaScript يجعل الأساليب التي تنتمي إلى الفئة الأصل قابلة لإعادة التعريف في الفئة الفرعية.
دعنا نذهب مع اثنتين من الألعاب المحبوبة في القرن الحادي والعشرين والتي يسهل تخمينها، GTA وRed Dead Redemption، إلا إذا لم تكن من محبي ألعاب العالم المفتوح.
بالعودة إلى موضوعنا، سأعطي GTA دور فئة الوالدين ويأخذ RDR مكان فئة الطفل.
class GTA { constructor() { this.openWorld = {}; } addFeature(feature, value) { this.openWorld[feature] = value; return this.openWorld[feature]; } } class RDR extends GTA { addFeature(feature) { super.addFeature(feature, true); // Calls the parent class' method and adds the feature return true; } } var role = new RDR(); console.log(role.addFeature('ROLE_PLAYER')); // This will return true console.log(role.openWorld); // This will now have 'ROLE_PLAYER' added to it with value true
super.addFeature(feature, true) يستدعي أسلوب addFeature في فئة GTA، ويضيف الميزة إلى كائن openWorld.
يُرجع الأسلوب addFeature في RDR صحيحًا، ولكنه يضمن أيضًا إضافة ROLE_PLAYER إلى كائن openWorld.
يبدو أن ROLE_PLAYER دخل للتو إلى العالم المفتوح الجامح بقيمة حقيقية. آمل أن يكونوا مستعدين لمواجهة الأخطاء التي سيواجهونها، فهي لعبة عالم مفتوح، بعد كل شيء!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3