سؤال متى نستخدم كلمة new في تعريف المتغير
مثل
dim ddate as new date
سؤال متى نستخدم كلمة new في تعريف المتغير
مثل
dim ddate as new date
السلام عليكم
تستخدم كلمة نيو لحجز مساحه للمتغير فى الذاكره
وربنا يسمحنى علشان انا كتبت فى ال VB بسس برضه احنا واحد :] ههههههههههه
السلام عليكم
نستخدم الكلمة new عندما نريد إن نستنسخ Instantiate عنصر Object من قالب Class
و نستثني من عملية الإستنساخ القوالب المشتركة Shared Classes
أما المتغيرات و المصفوفات فلا تحتاج إلى استنساخ كونها لا تملك Constructions
وهذا يعني أننا عندما نستخدم الكلمة NEW فإننا ننادي بناء هذا العنصر وبه نستطيع تمرير قيم إذا كان
هذا القالب يملك ممررات في بناءة
تنبية : بما أن الـ Visual Basic .NET يحاكي نمط الـ OOP فإن المتغيرات هي أصلاً عناصر
مثل العنصر String & integer و هلم جرى .. وهذا لا يفند القول الأول .
و الفرق بينهما والله أعلم أن العنصر لا يستنسخ ( String ) بينما القالب يستنسخ ( ArrayList )
مثال ذلك لو أفتراضنا أننا نريد أنستنسخ عنصر من القالب DataAdapter سيكون كالتالي
Dim dadapter As New OleDbDataAdapter("SELECT * FROM table", cnn)تلاحظ أن القالب OleDbDataAdapter له في بناءةِ ممرران الأول الـ Query و الثاني عنصر الإتصال Connection
أما بالنسبة للعناصر المشتركة فمثلاً
Dim myArrays() As String = {"Hello", "Hi", "Peace"}
Array.Sort(myArrays)تلاحظ العنصر في السطر الثاني وهو Array هذا هو كلاس لكنه من نوع مشترك Shared فلذى لا يحتاج إلى إستنساخ
و أنما يستخدم مباشرتاً لعمل الترتيب الأبجدي على المصفوفة myArrays ,
و دائماً تظهر رسالة الخطأ للمتعلمين الجدد في برمجة العناصر الرسالة التالية
Object reference not set to an instance of an object
وهذا يعني أنك قم بتعريف عنصر من قالب دون إستنساخ منه
اي بمعنى أخر أنك لم تستخدم الكلمة New في تعريفك لعنصرٍ ما .
هذا والله أعلى و أعلم
السلام عليكم
في المثال يتضح المقال
السلام عليكم
وين نروح من جمايلك يالغملاسي وها الشرح الخطير
كل الشكر والتقدير
شرح رائع اخي الغملاسي
الله يفتح عليك و يزيد من علمك و ينفعك به و المسلمين و الغلابة من أمثالي :)
سؤال كان رائع من مدة خطر ببالي وش تعني كلمة
new
موفقين ..
شكرا يا اخ غملاسي
وبارك الله فيك
السلام عليكم
فقط للأمانة العلمية , حيثُ وصلتني رسالة إستفسار عن الـ Shared Classes
التوضيح :
أنا أقصد بـ Shared Classes ليس القالب Class نفسه ! و إنما محتوى هذا القالب من
سلوكيات Methods (إجراءات Subs أو وظائف Functions ) أو خصائص Properties أو أحداث Events
لانه من المنطق أن القالب هو حاوية لتلك العناصر و إننا في مجمل تعاملاتنا مع القوالب Classes ليس لأجلها
و إنما لأجل ما تحتويه من وظائف و خصائص ووووو إلى أخره .
وللفائده قد يكون هنالك قالب به وظائف مشتركة Shared Functions وبه غير مشتركة Regular Functions
و إن كان هذا الأسلوب في البرمجة غير منطقي ....
وفائدة أخرى كل من الـ Classess و Modules لا يمكن تطبيق عليهم صفة المشاركة Shared و إنما محتوياتهم فقط .
هذا والله أعلم
في المثال يتضح المقال
هذا الموضوع مغلق.