متغيرات الحالة

إن أجزاء البيانات التي تشكل الكائن تدعى بمتغيرات الحالة لأن كل كائن، والذي يشكل حالة (instance) من نوعه، يملك نسخته الخاصة من المتغيرات.
هذا يشبه علبة القفازات في سيارة. كل سيارة هي حالة معينة من النوع "سيارة"، ولكل سيارة علبة قفازات خاصة بها. إذا طلبت مني إحضار شيء من علبة قفازات سيارتك، فعليك أن تخبرني أي واحدة هي سيارتك.
بشكل مشابه، إذا أردت قراءة قيمة من متغير حالة، عليك تحديد الكائن الذي ترغب بالحصول على القيمة منه. يتم عمل ذلك في Java باستخدام "النقطة – dot notation".
كود:
int x = blank.x;
تعني العبارة blank.x "اذهب إلى الكائن الذي يشير إليه المتغير blank، واحصل على القيمة المخزنة في x". في هذه الحالة قمنا بإسناد تلك القيمة إلى متغير محلي اسمه x. لاحظ عدم وجود تعارض بين المتغير المحلي x وبين متغير الحالة x. إن الغرض من كتابة النقطة هو تعريف المتغير (متغير الحالة) الذي تشير إليه بشكل واضح.
يمكنك استعمال النقطة في أي جزء من العبارات في Java، لذا فإن ما يلي مشروع.
كود:
System.out.println (blank.x + ", " + blank.y);
int distance = blank.x * blank.x + blank.y * blank.y;
يطبع السطر الأول 4 ,3؛ ويحسب السطر الثاني القيمة 25.