سؤال

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

لذا سوف أضع السؤال في ذلك المجتمع:ما هي أفضل طريقة أنك رأيت مراجع تدرس ؟ ما جعله 'انقر فوق' بالنسبة لك ؟ هل هناك أي إشارة المواد ذات الصلة أن أنا في عداد المفقودين ؟

بلدي مؤقت خطة الدرس هو:

  1. ما هو مرجع (باستخدام حجة مثل اريك ليبرت هو)
  2. المراجع جامع القمامة
  3. إشارة أنواع و أنواع قيمة
  4. ثابتة أنواع
  5. يمر بالرجوع مقابل المارة قيمة (و كل الخفايا من مراجع الكائنات التي يتم تمريرها حسب القيمة)
  6. حفنة من سيئة الأمثلة التي تنتج نتائج غير متوقعة إذا كنت لا تفهم 1-5.
هل كانت مفيدة؟

المحلول

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

أنها يمكن أن تتفاعل مع لكم من خلال "المرجعية" لديهم لكنهم لا يكون "أنت" في حوزتهم.

نصائح أخرى

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

هذا هو مرجع مفيد:

 http://www.yoda.arachsys.com/csharp/parameters.html

في محاولة لتفسير الإشارات مع الأرقام, كما نص نقي في بعض الأحيان لا تحصل من خلال معظم الناس.العديد من الموارد و الكتب في هذا الموضوع, حاول أن يفسر من خلال الأرقام كما أنه من الصعب أن تتصل تخصيص من خلال التواصل اللفظي وحده (هذا هو الغالب مسألة اهتمام معظم الناس).

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

بالنظر إلى:

class A {
    B b = new B();
}

class B {
   int mine = 1;
}

عند إنشاء مثيل فئة A وجوه a من بعض السياق الشكل التالي توضح كيف سوف ننظر في كومة.الهدف من الرسم هو إظهار كيف كائنات مختلفة تتصل مع بعضها البعض و العقلية نموذج كيف كومة يعمل.

         +-A-----+
a: *---->|       |
         |       |   +-B--------+
         | b: *--+-->|          |
         |       |   | mine: 1  |
         +-------+   |          |
                     +----------+

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

بالنظر إلى الطريقة التالية:

public void doSomething(B b) {
   int doMine = b.mine + 1;
}

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

whoever called doSomething *
                           |
                           v
+-doSomething-+   +-B--------+
| b: *--------+-->|          |
|-------------|   | mine: 1  |
| doMine: 2   |   +----------+
+-------------+

آخر مثال توضيحي سيكون توضح مجموعة مما هو كائن ، صفيف متعددة الأبعاد يحتوي على مجموعة من المصفوفات.

وجدت هذه المادة حقا مفيدة explaning المعلمة يمر في C#.المادة أيضا يقوم بعمل جيد موضحا قيمة وأنواع مرجع في الشروط العامة.

إنه أكثر من التمثيل المرئي الذي ساعدني كثيرا.

الصور والرسوم البيانية.

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

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

عندما كنت تعلم VB6, مراجع الخلط في الواقع لي قليلا.ثم حاولت تعلم C++, و بعد التعامل مع المؤشرات إشارات مفهومة بالنسبة لي.فهم من ما-هو-في الواقع-يحدث المنظور كان أسهل بالنسبة لي من فهم ذلك من oo-المفاهيم المنظور.ربما كنت يمكن أن تذهب فوق تحت غطاء محرك السيارة الاشياء في الدرس الخاص بك.

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

في وصف ما كائن "المرجعية" ، أود أن أقترح استخدام مصطلح "معرف الكائن".كائن معرف لديك عدد قليل من الأشياء التي تجعلها مختلفة من "عناوين":

  1. واحدة لا تستطيع أن تفعل أشياء كثيرة جدا مع كائن معرف.واحد يمكن اختبار ما إذا كان واحد هو فارغ, تحقق ما إذا كان اثنان منهم على قدم المساواة ، نسخة واحدة إلى موقع التخزين من نوع مناسب ، أو البحث عن وجوه أشار إليها أحد و يطلب منها أن تفعل شيئا.معظم الطلبات أن تفعل شيئا مع فئة من نوع قيمة أو متغير حقا الطلبات أن تفعل شيئا مع ويشار إلى الكائن.علما أنه لا يمكن لأحد التلاعب معرف كائن واحد في مثل هذه الطريقة للحصول على معرف آخر, كما يمكن للمرء القيام به مع العناوين.
  2. في حين أن النظام يجب أن يكون وسيلة تحويل معرف كائن إلى عناوين يوجد أي ضمان بأنه سيتم استخدام أي وسيلة للقيام بذلك.كما أنه ليس هناك أي ضمان بأن نمط بت المرتبطة مع أي كائن معرف لن عفويا التغيير ؛ كل هذا يضمن أنه إذا بت تغييرات نمط نمط جديد سوف تشير إلى نفس الكائن القديم.
  3. النظام بتتبع كل مكان كائن معرف يتم تخزينها.طالما أي نسخة من كائن معرف موجود ، هذا الكائن معرف لن تشير إلى أي شيء آخر من مثيل الكائن الذي تم إنشاؤه.وعلى النقيض من ذلك ، في عام ، الأنظمة التي تستخدم عناوين الأشياء لا تتبع كل مكان عنوان يمكن نسخها.فمن الممكن أن الجسم قد تزول من الوجود في حين لا يزال هناك شخص ما لديه نسخة من العنوان و بعض وجوه جديدة قد تنشأ مع نفس العنوان.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top