تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أفضل طريقة لإنشاء كائن جديد - شارك في النقاش
#2
كاتب المشاركة : أحمد جمال


لنعد لنقطة ما قبل الصفر في وضع الكلمة New والتي لا تستخدم لتعريف نوع نسخة ، بل تستخدم لاطلاق ال Constructor .

طبعاً الطريقة :

كود :
Dim x As New Y
تعني انني قمت بعمل نسخة X من النوعية Y وقمت بربطه مباشرة وهو ما يعرف باسم Early Binding أو الربط المبكر ، وهو سريع جداً في التفيذ .

أما الجملة الثانية وهي :

كود :
Dim x As Y = New Y
فهي تنفذ ما يدعى بالربط المتأخر Late Binding ونفس الجملة يمكن كتابتها بشكل آخر هو :

كود :
Dim x as Y
x = new Y
وطبعاً لن أذكرك بإنها بطيئة مقارنة بالطريقة الأولى .

الطريقة :

كود :
Dim x = New Y
هي نفسها كأنك قمت بكتابة الكود التالي :

كود :
Dim x
x= new Y
وفي هذه الحالة - لن يعطيك خطأ لو كنت تستخدم Option Explicit Off ولكن لن تجد مبرمجاً على سطح الأرض ينصحك بعمل هذا - وفي هذه الحالة سيتم تعريف x من نوع Object ومن ثم يتم تحويلها للنوع المطلوب لاحقاً ، ولن أذكرك بالبطء الناتج عن هذه العملية .

وإذا لم تكن تستخدم الخيار Option Explicit Off فإن الكود السابق يمكن كتابته بالشكل التالي :

كود :
Dim x As Object
x= new Y
نصيحة لك ، لا تقم بذلك إلا عندما تحتاج إليه ، ولكن هل سأحتاج إليه فعلاً ؟؟؟
في الواقع نعم ، ولكن هذه موضوع آخر ...

والله الموفق ..
والسلام عليكم ورحمة الله وبركاته .
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
أفضل طريقة لإنشاء كائن جديد - شارك في النقاش - بواسطة Raggi Tech - 01-10-12, 11:07 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Rainbow [VB.NET] كلاس ResizeControls وطريقة جديد ومميزة لتكبير وتصغير ادوات الفورم تلقائيا الماجيك مسعد 9 10,544 19-07-25, 05:59 PM
آخر رد: Mostafa25
  [VB.NET] سؤال عن طريقة نسخ كل الروابط و اسم الرابط من موقع انترنت toedi 4 3,709 01-05-24, 06:55 AM
آخر رد: justforit
  طريقة إنشاء برنامج طباعة ملصقات الباركود ملهمـ 1 5,019 22-12-21, 05:09 PM
آخر رد: alessam4pro
  طريقة عمل نسخة لتثبيت فيجوال ستوديو بدون نت معاند الحظ 12 9,650 11-12-21, 04:26 PM
آخر رد: اسلام الكبابى
  طريقة تشغيل كريستال ريبورت بجميع ادارات فيجول نت abdhassan 3 7,577 26-02-21, 08:57 PM
آخر رد: علي النقيب
  طريقة إضافة اختصار للصنف في شاشة المبيعات ملهمـ 5 6,420 14-07-20, 12:24 PM
آخر رد: ابراهيم ايبو
  Private Text Encryption -خدمة للمبرمجين في جديد عالم التشفير- RaggiTech 1 3,789 07-05-20, 05:48 AM
آخر رد: سعود
Heart [مقال] شرح طريقة معرفة محتوى الكوكيز sooriaty03 5 6,625 11-02-20, 03:18 PM
آخر رد: DK-x
Lightbulb [VB.NET] تايمر جديد اسرع بأضعاف من التايمر العادي ؟! 3booody 9 5,976 27-11-19, 11:33 PM
آخر رد: 3booody
  طريقة تقسيم كودك البرمجة الي سطرين أو أكثر كم تريد dametucorazon 1 4,379 06-09-19, 12:55 AM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: