الأربعاء، 17 أكتوبر 2012

مقدمة لبرمجة جافا

مقدمة لعلوم الحاسوب باستخدام جافا


جافا هي لغة برمجة بسيطة و في نفس الوقت قوية  بكونها لغة برمجة كائنية التوجه Object-oriented programming - OOP وإنها في كثير من النواحي مماثلة لـ C + +. وقد تم تطويرها لتوفير  لغة برمجة لها منصة مستقلة "platform-independent". هذا الموقع يقدم لكم مقدمة لبرمجة جافا مع العديد من الأمثلة لجافا. فهو يمثل دورة كاملة في برمجة جافا الموجهة بدايت إلى المبتدئين وصولا إلي المحترفين.

منصة مستقلة 


على عكس العديد من لغات البرمجة الأخرى بما في ذلك C و C + + عندما يتم التحويل البرمجي لجافا ، فإن عملية  التحويل البرمجي لا تتم في منصة آلة معينة، بل في منصة مستقلة تتعامل مع شكل بايت كود "bytecode". يتم توزيع  بايت كود "bytecode" من خلال شبكة الإنترنت و تقوم بتشغله آلة جافا افتراضية " Java Virtual Machine -JVM" على أي منصة كانت.

آلة جافا الافتراضية  Java Virtual Machine 


ما هي آلة جافا الافتراضية؟ و ما هو دورها؟
تم تصميم جافا بمفهوم "الكتابة مرة واحدة والتشغيل في كل مكان". آلة جافا الافتراضية "Java Virtual Machine" تلعب دورا مركزيا في هذا المفهوم. و  آلة جافا الافتراضية "JVM" هي البيئة التي تنفذ برامج جافا. فهو البرنامج الذي يتم تنفيذه على أعلى مستوى للجهاز الفعلي "hardware" ونظام التشغيل. عندما تتم عملية التحويل البرمجي للتعليمات البرمجية المصدر (الملفات ".java" )، يتم تحويلها إلى بايت كود "bytecode" ومن ثم وضعها في ملفات (.class). و تقوم  آلة جافا الافتراضية "JVM" بتنفذ البايت كود "bytecode". لذلك بايت كود "bytecode" يمكن أن يعتبر كلغة الجهاز "machine language" لآلة جافا الافتراضية "JVM". إما ان تقوم JVM  بتفسير واحد من تعليمات بايت كود  في كل مرة أو ان يتم  القيام بعملية التحويل البرمجي على أكثر من واحد من تعليمات البايت كود على المعالجات مباشرة باستخدام ما يسمى بالمحول البرمجي just-in-time. يجب تنفيذ JVM على منصة خاصة قبل ان يتم تشغيل البرامج التي تم عليها التحويل البرمجي على هذه منصة.

برمجة كائنية التوجه  Object Oriented Programming


بما ان جافا هي لغة برمجة  كائنية  التوجه Object-oriented programming - OOP  فلها الميزات التالية :
  • إمكانية إعادة استخدام الرمز
  • التركيز على البيانات بدلا من الإجراء
  • البيانات مخفيّ و لا يمكن الوصول إليها بواسطة وظائف خارجية
  • الكائنات يمكنها التواصل مع بعضها البعض من خلال الوظائف
  • البيانات و الوظائف الجديدة يمكن إضافتها بسهولة.

جافا لديها ميزات قوية. وفيما يلي بعض منها :
بسيطة 
يمكن إعادة استخدامها 
محمولة (منصة مستقلة) 
قابلة للتوزيع 
قوية 
آمنة 
عالية الأداء 
ديناميكية 
مترابطة 
مفسرة

البرمجة الكائنية التوجه  Object-oriented programming - OOP هي المنهج التنفيذ في البرامج التي يتم تنظيمها في مجموعة تعاونية من الكائنات ، كل منها يُمثِل مَثِيل "instance" من فئة ، و هذه الفئات تمثل كلها أعضاء في التسلسل الهرمي لفئات مترابطة  من خلال علاقات الميراث.

مفاهيم البرمجة الكائنية التوجه  OOP Concepts


أربعة مبادئ للبرمجة الكائنية التوجه:

التجريد Abstraction
التغليف Encapsulation
الوراثة Inheritance
تعدد الأشكال Polymorphism

التجريد Abstraction


التجريد Abstraction  يدل على الخصائص الأساسية للكائن التي تميزه عن جميع الأنواع الأخرى من الكائنات، وبالتالي توفر تعريف لحدود مفاهيمية هشة، نسبة إلى وجهة نظر المشاهد.

التغليف Encapsulation


التغليف  Encapsulation هي عملية تجزئة عناصر التجريد Abstraction  التي تشكل بنيتها وسلوكها. التغليف يعمل على فصل الواجهة التعاقدية للتجريد و تنفيذه.

التغليف:
  • إخفاء تفاصيل التنفيذ للفئة.
  • إجبار المستخدِم على استخدام واجهة للوصول إلى البيانات
  • يجعل الرمز أكثر قابلية للصيانة.

الوراثة Inheritance


الوراثة هي عملية يتمكن عن طريقها كائن من ان يكتسب خصائص كائن آخر.

تعدد الأشكال Polymorphism


تعدد الأشكال هو وجود فئات أو مناهج بأشكال مختلفة أو بإسم واحد يدل على تطبيقات مختلفة.

جافا قابلة للتوزيع Distributed


مع مجموعة واسعة من الإجراءات للتعامل مع بروتوكولات حزمة النظم TCP / IP مثل بروتوكول نقل النص الفائق HTTP وبروتوكول نقل الملفات FTP  فإن جافا يمكنها الفتح والوصول إلى الكائنات عبر الشبكة عن طريق عناوين URL.

جافا متعددة مؤشرات الترابط 


أحد الجوانب القوية للغة جافا هو أنها تتيح التنفيذ لأجزاء متعددة من البرنامج بشكل مستقل لكل جزء منها و تشغيلها بشكل متزامن ضمن نفس البرنامج. برنامج واحد لجافا يمكن أن يكون لديه العديد من التنفيذات المستقلة لأجزاء مختلفة و بشكل مستمر. ويمكن تشغيل عدة تطبيقات لجافا على المتصفح في نفس الوقت بحيث تتقاسم وقت وحدة المعالجة المركزية CPU.

لغة جافا آمنة 


وقد تم تصميم جافا ليسمح بتنفيذ التعليمات البرمجية بطريقة آمنة عبر الشبكة. لجعل جافا آمنة تم حذف العديد من ميزات  C و C + +. جافا لا تستخدم المؤشرات "Pointers". و لا يمكن لبرامج جافا الوصول التعسفي إلى العناوين في الذاكرة.

حذف النفايات 


حذف النفايات التلقائي هو ميزة أخرى جيّدة لجافا الذي يمنع التلف الغير مقصود للذاكرة. مثل C + + جافا لديها مشغل جديد لتخصيص مساحة على كومة الذاكرة المؤقتة لأي كائن جديد. ولكنها لا تستخدم مشغل الحذف لتحرير الذاكرة كما هو الحال في C + + عندما لا يكون هناك حاجة للكائن. بل يتم ذلك تلقائيا عن طريق جامع النفايات.

تطبيقات جافا 


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

ليست هناك تعليقات:

إرسال تعليق