الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

متى نستخدم كلمة new في تعريف المتغير

مغلق
بدأه hadicom في 24 يوليو 2005 · 10 رد · 1,453 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سؤال متى نستخدم كلمة new في تعريف المتغير

مثل

dim ddate as new date

#2

السلام عليكم

تستخدم كلمة نيو لحجز مساحه للمتغير فى الذاكره

وربنا يسمحنى علشان انا كتبت فى ال VB بسس برضه احنا واحد :] ههههههههههه

365159135_b0fcd2be76_o.jpg

365163463_a76592857a.jpg
#3

السلام عليكم

نستخدم الكلمة 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 في تعريفك لعنصرٍ ما .

هذا والله أعلى و أعلم

السلام عليكم

في المثال يتضح المقال

#4

السلام عليكم

وين نروح من جمايلك يالغملاسي وها الشرح الخطير

كل الشكر والتقدير

#5

شرح رائع اخي الغملاسي

#6

الله يفتح عليك و يزيد من علمك و ينفعك به و المسلمين و الغلابة من أمثالي :)

#7

سؤال كان رائع من مدة خطر ببالي وش تعني كلمة

new

موفقين ..

#8

لا شكر على واجب أحسن الله إليكم

بالتوفيق والنجاح أخوتي الأعزاء

في المثال يتضح المقال

#9

مشكور على هذا شرح جميل

winter-main.jpg

6179.gif

#10

شكرا يا اخ غملاسي

وبارك الله فيك

#11

السلام عليكم

فقط للأمانة العلمية , حيثُ وصلتني رسالة إستفسار عن الـ Shared Classes

التوضيح :

أنا أقصد بـ Shared Classes ليس القالب Class نفسه ! و إنما محتوى هذا القالب من

سلوكيات Methods (إجراءات Subs أو وظائف Functions ) أو خصائص Properties أو أحداث Events

لانه من المنطق أن القالب هو حاوية لتلك العناصر و إننا في مجمل تعاملاتنا مع القوالب Classes ليس لأجلها

و إنما لأجل ما تحتويه من وظائف و خصائص ووووو إلى أخره .

وللفائده قد يكون هنالك قالب به وظائف مشتركة Shared Functions وبه غير مشتركة Regular Functions

و إن كان هذا الأسلوب في البرمجة غير منطقي ....

وفائدة أخرى كل من الـ Classess و Modules لا يمكن تطبيق عليهم صفة المشاركة Shared و إنما محتوياتهم فقط .

هذا والله أعلم

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة