سلسلة دروس جافا
جافا هي لغة برمجة بسيطة و في نفس الوقت قوية بكونها لغة برمجة كائنية التوجه 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 + + عندما لا يكون هناك حاجة للكائن. بل يتم ذلك تلقائيا عن طريق جامع النفايات.
تطبيقات جافا
وقد تطورت لغة جافا من لغة بسيط تقدم محتوى تفاعلي ديناميكي لصفحات الويب إلى لغة برمجة سائدة للمؤسسات لتطوير تطبيقات هامة وحاسمة. اصبحت اليوم تُستخدم لأنواع عديدة من التطبيقات بما في ذلك تطبيقات الويب و التطبيقات المالية، وتطبيقات الألعاب، والأنظمة المدمجة، وتطبيقات المؤسسات الموزعة، وتطبيقات النقال و معالجات الصور و التطبيقات المكتبية و غيرها.
الدرس ال2
الدرس ال 3
الدرس ال4
الدرس ال 5
الدرس ال6
الدرس ال7
الدرس ال8
الدرس ال9
الدرس ال10
الدرس ال 11
الدرس ال 12
الدرس ال13
الدرس ال14