منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : Identifiers vs Variables
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
((رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي))

Identifiers vs Variables

كثيرا ما نسمع عن المعرفات (Identifiers) والمتغيرات (Variables) في لغات البرمجة، لكن البعض لربما يختلط عليه الامور من ناحية هل يوجد تشابه بينهما؟ أم هما نفس الشي؟

في هذا المقال سنبيّن أوجه التشابه والفرق بينهما.



Identifier: عبارة عن اسم يستخدم لتعريف كل ما موجود في لغات البرمجة من اسماء متغيرات وكلاسات ودوال وخصائص ومجالات اسماء....الخ.
بمعنى كل شي في لغة البرمجة معرف بأسم أو له اسم تسمى Identifier.

لنوضح اكثر بالمثال التالي:
PHP كود :
namespace IntroductionSamples
{
 
   class Identifiers
    
{
 
       public int Age getset; }

 
       private string _name;

 
       public void Print()
 
       {
int age;
 
           Console.WriteLine(_name);
 
       }
 
   }


لاحظ بأن مجال الاسماء والكلاس والدالة والProperty والField والمتغير كل واحدة لها اسم وهذا الاسم تسمى Identifier.


لذلك هنالك شروط يجب مراعاتها في تسمية الـ Identifier:
  1. يجب أن تبدأ بحرف أو من الممكن استخدام (_) underscore ويتبعها مجموعة حروف او ارقام.
  2. يجب ألا يحتوي على مساحة (space) او الرموز التالية: ? - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / 
  3. يجب ألا يكون من ضمن الاسماء المحجوزة في اللغة.

Variables: عبارة عن اسم يعطى للمساحة المحجوزة في الذاكرة. بمعنى آخر عبارة عن موقع في الذاكرة له اسم بحيث نتعامل مع الموقع من خلال هذا الاسم. وحجم الموقع يعتمد على النوع لان المتغير يجب أن يحدد بأحدى الــ Types الخاصة باللغة سواء كانت:
 Value Types, Reference Types or Pointer Types.


شروط تعريف المتغير نفسها شروط المعرّف (Identifier).

بما سبق نستخلص الآتي:
كل متغير variable هو معرّف Identifier وليس العكس. بمعنى ليس كل معرّف Identifier هو متغير variable لانه لربما تكون الاسم عبارة عن اسم لدالة أو كلاس ...الخ وهذه الاسماء لا تعتبر متغيرات.