الكائنات: الحالة، السلوك وواجهة
مُقدَّم| English | المعنى |
|---|---|
| instance/ˈɪnstəns/ | الحالة |
| encapsulation/ɪnˌkæpsjʊˈleɪʃn/ | التغليف |
ما الذي يفسر هذه الملاحظة؟
- يمكن لكائني نموذج حساب بنكي الاستجابة لنفس عملية الإيداع بينما يحملان أرصدة مختلفة.
- ابدأ بتوقع. حدد الكميات أو الخصائص التي ستقارنها، ثم حدد الدليل الذي يمكنه التمييز بين تفسيرين.
بناء النموذج
- تحدد الفئة نوعاً بحالة وسلوك. الكائن هو مثال. التغليف يتحكم في الوصول من خلال واجهة حتى تستطيع العمليات الحفاظ على الثوابت. الوراثة تُصوّر علاقة أنواع مناسبة؛ التكوين يُصوّر كائناً يحتوي أو يستخدم كائناً آخر.
- التغليف: التحكم في الوصول إلى الحالة عبر واجهة؛ العينة: كائن فردي من فئة ما.
ما الذي يجب أن يمنع تغيير حالة غير صالح؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
يعمل التغليف عندما يمر كل تغيير حالة عبر عملية تتحقق من الثبات قبل تطبيقه. الحقول القابلة للكتابة علنيًا تتجاوز التحقق تمامًا، وسيرتكب المستخدمون أخطاء في النهاية.
طابق كل مصطلح تقني مع معناه الدقيق.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
استخدم التعريفات للتمييز بين الكميات والعمليات ذات الصلة.
اختر دليلاً لاختبار الفرضية
- استدعاء الدالة يؤثر على عينة محددة. يجب أن تحقق التغييرات في الحالة الشروط المسبقة والشروط اللاحقة. يسمح تعدد الأشكال للكود باستخدام واجهة مشتركة مع تطبيقات مختلفة عندما يتم احترام العقد.
- قم بتنفيذ نموذج حساب أو مخزون اصطناعي صغير. اختبر عينتين مستقلتين، ورفض العمليات غير الصالحة وقيم الحدود. أبعد النموذج عن الحسابات المالية الحقيقية والمصاديق.
أي عادة من العادتين تجعل التحقيق أو النموذج في هذه الحالة أكثر قابلية للدفاع؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
توضيح الشروط والافتراضات يسمح للآخرين بتكرار العمل بدقة، وتسجيل الأدلة الداعمة يتيح لهم التحقق من الاستنتاج. إخفاء النتائج المتعارضة يزيل الأدلة التي قد تتحدى استنتاجًا خاطئًا، ولا يمكن لقياس واحد أن يثبت ادعاءً أوسع.
اعتمد على كميات معروفة
- أدر القيم المعروفة ووحداتها. اختر العلاقة لأن افتراضاتها تتناسب مع هذه الحالة، ثم أعد ترتيب المعادلة قبل التعويض.
- معلوم: يبدأ الكائن A عند 40 وحدة ويستقبل 15؛ يبدأ الكائن B عند 20 ويستقبل 5. الرصيد النهائي هو 55 و25. مجموعهما هو 80، لكن رصيد أي كائن فردي ليس 80.
تبدأ العينة عند 12 وحدة، تضيف 8 وتزيل 3. أوجد قيمتها النهائية. استخدم نفس التسلسل: الكميات المعلومة → النموذج → العلاقة → التعويض → الوحدة والتفسير.
مُثّيل يبدأ عند 12 وحدة، يضيف 8 ويحرّم 3. أوجد قيمته النهائية.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
النتيجة هي 17 وحدة. المعطيات: ابدأ بـ 12؛ أضف 8؛ أزل 3. تتبع الحالة خطوة بخطوة: 12 + 8 = 20؛ 20 - 3 = 17 وحدة. كل عملية تغير حالة هذه الوحدة فقط.
تحقق من الاستنتاج وحدوده
- الفئة ليست نفسها مثل العينة الواحدة. الوراثة ليست أفضل تلقائياً من التكوين. مجرد إخفاء حقل لا يثبت أن جميع العمليات تحافظ على حالة صالحة.
- عُد إلى الملاحظة الأصلية. اشرح ما يدعمه النتيجة، وما هي الشروط التي تفترضها، وطريقة واحدة لاختبار تفسير منافس.
يجب أن تتشارك وحدتا نفس الفئة دائمًا الرصيد نفسه. هذا الادعاء خاطئ: كل وحدة تمتلك حالتها الخاصة: حسابان من نفس الفئة يمكن أن يحتويا على أرصدة مختلفة. يشتركان في تعريف الفئة - العمليات والهيكل - وليس قيم الحقول.
الكائنات: الحالة والسلوك والواجهة: استدعاء الدالة يؤثر على عينة محددة. يجب أن تحقق التغييرات في الحالة الشروط المسبقة والشروط اللاحقة. يسمح تعدد الأشكال للكود باستخدام واجهة مشتركة مع تطبيقات مختلفة عندما يتم احترام العقد.
يجب أن يشارك حالتان من فئة ما دائمًا رصيدًا واحدًا.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
كل وحدة تمتلك حالتها الخاصة: يمكن لحسابين من نفس الفئة الاحتفاظ برصيد مختلف. هم يشاركون تعريف الفئة - العمليات والهيكل - وليس قيم الحقول.
التحكم في الوصول إلى الحالة عبر واجهة: اكتب المصطلح التقني.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
التغليف يعني التحكم في الوصول إلى الحالة من خلال واجهة.