يأتي هذا الدرس لتكميل الدرس الأول في أساسيات جافا، بالإمكان كذلك الإضطلاع على نبذة تاريخية لجافا

في الدرس السابق إذا، تطرقنا لكيفية تثبيت جافا و JDK و المحرر إكليپس، تطرقنا لكيفية خلق مشروع إنطلاقا من الكود الى التجميع ثم التنفيذ. و في الفصل الثالث من ذات الدرس أسهبنا في شرح مفاهيم الفئة و المثيل، و بتدقيق تطرقنا لمفهوم الباني و كتل التهيئة، التي تمثل أبرز مفاهيم البرمجة كائنية التوجه. و لكي نعمق فهم هذه المفاهيم و غيرها سنعرج في الفصل الثالث من هذا الدرس على المبادئ الثلاثة الكبرى للبرمجة كائنية التوجه، و نأخذ أمثلتنا من لغة جافا، و هذه المبادئ هي :

  • تعدد الأشكال Polymorphism بمعنى إماكنية وجود خاصيات مختلفة بنفس الإسم.
  • و الإرث Heritage الذي تطرقنا له بإقتضاب في درسنا السابق
  • و التغليف Encapsulation الذي سيمكننا من فهم الكلمات المفتاحية public و protected و private

لكن قبل ذلك إرتئينا ضرورة التطرق في الفصل الثاني لمفهوم آخر هو مفهوم الحزمه Package  الذي يجيب عن تساؤل تنظيم الكود عندما يكون هذا الأخير متكونا من عدد كبير من الفئات، و ليس فقط فمهوم الحزمة في جافا كما سنرى يوجد في صلب البرمجة كائنية التوجه. كما سنتطرق للأداة jar التي تمكن من تحويل الحزمة الى رزمة يسهل نقلها عبر الشبكة و إستعمالها من طرف برامج أخرى.

و عودة لكتابة اللغة جافا، رئينا كيف أن في جافا توجد ثمانية أنواع أولية (char byte short  int  long  float double boolean)، و منها تستنبط فئات تمثل الأنواع الأخرى المعروفة نذكر منها الجداول التي يتم تعريفها كما يلي:

// تعريف جداول من أنواع مختلفة، كلها ممتلئة
int jadwalInt[] = {0,1,2,3,4,5,6,7,8,9};
char jadwalChar[] = {'a','b','c','d','e','f','g'};
String jadwalString[] = {"stra", "astrb", "astrc" , "strd"};

// تعريف جداول دون ملئها، في هذه الحالة يجب تحديد طول الجدول : 10 في حالتنا
int jadwalInt[] = new int[10];
//كتابة مماثلة
int[] jadwalIntBis = new int[10];

كما قلنا، الجداول في جافا ذات طول محدد عند تعريفها، و يبدأ ترقيم عناصرها من 0، أي أن العنصر الاول هو : jadwalInt[0]

 

و أخيرا في شق الأنواع نضيف مفهوما جديدا هو "تغيير النوع" الإنجليزي Casting و يعني تغيير نوع معطى ( متغير)، و ينقسم تغيير النوع الى صنفين :

  • صنف غير مباشر : بمعنى ان المترجم Compilateur هو من يقوم به
int a = 6;
Integer b = a;
  • و صنف مباشر بمعنى ان المبرمج هو من يطلب ذلك بطريقة صريحة في الكود
float a = 7.004;
int n = (int) a;

 

في الفصلين الأخيرين من هذا الدرس سنتطرق لتقنيتين مهمتين في البرمجة عموما، و في جافا على وجه التحديد، و يتعلق الأمر بتسيير الإستثنائات جهة و التعامل مع قواعد البيانات من جهة أخرى.