Adouz.de, 04.06.2019

مـاذا تعنـي السـلالة؟
و مـاذا تعنـي النسـخة أو النمـودج؟
مـاهي مميـزات النسـخة؟
دعنـا نأخـد القطـار (train) كمثـال، لتـوضيح هـذه المصطلحـات.

لكـل قطـار:

  • رقـم التعـريف
  • عـدد المقـاعد
  • عـدد المقـاعد الشـاغرة
  • اللـون
  • مدينـة الإنطـلاق
  • مدينـة الـوصـول
  • إلخ…
  •  
pixabay.com ©

في كل قطـار تقـع الأفعـال التـالية:

  • تغييـر اللـون
  • عنـد صعـود راكب: عـدد المقـاعد الشـاغرة تنقص ب 1
  • قطـار مـا قد يسـافر اليـوم من مراكش للدار البيضـاء و غـدا من مكنـاس لبني ملال
  • إلخ…

سـلالة (class)

لكل القـطارات نفس الخصـائص و تقـوم بنفس الأفعـال. السـلالة هي تعريـف يصـف مجمـوعة من النسـخ المتشـابهة فيمـا بينها. في المثـال أعـلاه الـسلالة هي القطـار بمعنـاه العـام، م ليس القطـار x و القطـار y و القطـار … 
بتعبيـر آخـر، السـلالة هي مصطـلح عـام و مجـرد لوصف الهيكـل المشتـرك و السلـوك المشتـرك للنسخ.
العـرض الرشمي لسـلالة القطـار بلغـة UML يمكـن أن يكـون كالتـالي، أي مـا يعـرف بالمبيـان السـلالي (class diagram):


تجـذر الإشـارة إلى أن اللغـة المعتمـدة في الجـافا و UML هي الإنجليـزية
التسميـة الإعتيـادية لسـلالة في الجـافا تكـون على الشكـل التـالي: MyClass (حـرف كبيـر)
تعريف سـلالة في الجـافا:

[pastacode lang="java" manual="public class Train { ... }" message="سـﻻلة قطـار فـارغـة" highlight="" provider="manual"/]

نسـخة أو النمـودج (object)

أي قطـار فهو نسخـة لسـلالة القطـار . و بالتـالي فالقطـار المسـافر اليـوم على السـاعة 10:00 صبـاحـا م من مراكش للدار البيضـاء فهو نسخـة لسـلالة القطـار و القطـار المسـافر اليـوم على السـاعة 17:00 صبـاحـا من مكنـاس لبني ملال فهو نسخـة لسـلالة القطـار. إلخ…
بتعبيـر آخـر، النسخة هي نسخـة للسـلالة.
إنشـاء نسخـة لسـلالة يتـم على الشكـل التـالي:

[pastacode lang="java" manual="Train instanceOfMyClass= new Train(); " message="نسخـة قطـار" highlight="" provider="manual"/]

صفـة (attribut)

رقـم التعـريف صـفة للقطـار
عـدد المقـاعد صـفة للقطـار
عـدد المقـاعد الشـاغرة صـفة للقطـار
اللـون صـفة للقطـار
مدينـة الإنطـلاق صـفة للقطـار
مدينـة الـوصـول صـفة للقطـار
إلخ…
بعـد إضـافة الصفـات للسـلالة “قطـار” تصبـح على الشكـل التـالي

تعريف و إعـلان الصفـات في الجـافا:

[pastacode lang="java" manual="public class Train { private int id; private int seat; private int freeSeat; private int color; private int start; private int goal; ... }" message="سـﻻلـة قطـار مع الصفـات" highlight="" provider="manual"/]

وسيـلة (method)

الوسيـلة هي كـل فعـل يغيـر سلـوك النسـخ أو حـالتهـا الـداخليـة. فتغييـر لـون القـطار مثـال لوسيـلة. 
بعـد إضـافة الوسـائل للسـلالة “قطـار” تصبـح على الشكـل التـالي:

إضـافة الوسـائل للسـلالة قطـار في الجـافا:

[pastacode lang="java" manual="public class Train { private int id; private int seat; private int freeSeat; private int color; private int start; private int goal; public void changeColor(){} // لتغييـر اللـون public void subtractOneFormFreeSeat(){} // جلوس راكب على مقعد شاغـر public void setStart(){} // لتغييـر مدينة الإنطـلاق public void setGoal(){} // لتغييـر مدينة الوصـول }" message="سـﻻلـة قطـار مع الصفـات و وسيـلات" highlight="" provider="manual"/]

وصلـة (interface)

تعريف وصلـة في الجـافا:

[pastacode lang="java" manual="public interface ITrain { ... }" message="وصلـة قطـار" highlight="" provider="manual"/]

اترك تعليقاً