القائمة الرئيسية

الصفحات

تعلم الجافا

هل أنا جاهز لتعلم لغةJava ؟

إذا كنت مبتدئاً في البرمجة, يجب أن تدرس الخوارزميات قبل أن تبدأ مباشرةً بدراسة لغة جافا, لأنك بحاجة لمعرفة مبادئ البرمجة قبل أن تتعلم أي لغة برمجة.
لا تقلق إذا لم يسبق لك أن تعلمتها لأننا شرحنا الخوارزميات من الصفر.

تعلم الخوارزميات »


نصيحة

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

ما هي لغة جافا؟

JAVA تكتب جافا باللغة العربية و هي لغة برمجة عالية المستوى إبتكرها James Gosling في عام 1991 أثناء عمله في مختبرات شركة Sun Microsystems و ذلك لاستخدامها بمثابة العقل المفكر المستخدم لتشغيل الأجهزة الذكية.

عام 1995 تم تطويرها لبناء تطبيقات للويب, السيرفرات, سطح المكتب, الهواتف و الروبوتات.

و هي تعمل على جميع و أهم أنظمة التشغيل مثل Windows, Mac OS, Linux, Unix, Android إلخ.. و تعتبر من أشهر لغات البرمجة على الإطلاق.

حالياً ملايين الأجهزة الإلكترونية مبرمجة على لغة جافا. و هذا شعار لغة جافا:


مميزات لغة جافا بالنسبة للمطورين

  1. لها شعبية هائلة و هناك الكثير من المراجع لمن يريد تعلمها.

  2. بسيطة و تعلمها سهل مقارنةً مع غيرها من اللغات.

  3. شبيهة باللغتين C و C++ و لكن التعامل معها أسهل و سلس أكثر.

  4. إذا أنشأت برنامجاً باستخدام لغة جافا فإن البرنامج يعمل على أي نظام في العالم و هذا من أهم ما يدفعك لتعلمها.

  5. لغة جافا مطلوبة جداً في الخارج, إذا كنت تريد دخول سوق العمل فلغة جافا توفر لك الكثير من الفرص.

مميزات لغة جافا عن باقي لغات البرمجة

  1. مادياً
    لن تدفع أي مبلغ لتعمل على لغة جافا, فهي مصدر مفتوح و مجانية و ستبقى مجانية مدى الحياة.


  2. تقنياً
    تستطيع البرمجة بها حتى و لو كان حاسوبك ضعيفاً أو قديماً.


  3. البساطة
    تعلمها سهل جداً بعد أن تفهم برمجة الكائنات.


  4. العمل بحيادية
    يمكن لمترجم لغة جافا تقسيم أوامر البرنامج ليتنفذ على عدة معالجات بشكل متناسق باستخدام نظام JRE.


  5. تعدد المهام
    جافا توفر لك تقنية الـ Multithreading و التي تسمح لك بجعل برنامجك قادراً على تنفيذ عدة أوامر مع بعض و بنفس الوقت.


  6. سرعة الترجمة
    تتم ترجمة لغة جافا إلى أوامر يفهمها الجهاز بشكل جداً سريع و بدون أن يخزنها و يحاول تحليلها لأن الكائنات فيها تربط مع بعضها بشكل تدريجي مما يجعل الأوامر فيها تتنفذ بسرعة.


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


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

لمن تم إعداد هذا المرجع؟

تم إعداد هذا المرجع ليتلاءم مع جميع الأشخاص الذين يريدون التعلم.
إذاً سواء كنت هاوياً, طالباً أو مبرمجاً, فإن هذا المرجع سيساعدك على فهم أساسيات لغة جافا و الوصول إلى مستوى متقدم جداً.

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

هل أنا جاهز لتعلم لغةJava ؟

إذا كنت مبتدئاً في البرمجة, يجب أن تدرس الخوارزميات قبل أن تبدأ مباشرةً بدراسة لغة جافا, لأنك بحاجة لمعرفة مبادئ البرمجة قبل أن تتعلم أي لغة برمجة.
لا تقلق إذا لم يسبق لك أن تعلمتها لأننا شرحنا الخوارزميات من الصفر.

تعلم الخوارزميات »


نصيحة

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

ما هي لغة جافا؟

JAVA تكتب جافا باللغة العربية و هي لغة برمجة عالية المستوى إبتكرها James Gosling في عام 1991 أثناء عمله في مختبرات شركة Sun Microsystems و ذلك لاستخدامها بمثابة العقل المفكر المستخدم لتشغيل الأجهزة الذكية.

عام 1995 تم تطويرها لبناء تطبيقات للويب, السيرفرات, سطح المكتب, الهواتف و الروبوتات.

و هي تعمل على جميع و أهم أنظمة التشغيل مثل Windows, Mac OS, Linux, Unix, Android إلخ.. و تعتبر من أشهر لغات البرمجة على الإطلاق.

حالياً ملايين الأجهزة الإلكترونية مبرمجة على لغة جافا. و هذا شعار لغة جافا:

مميزات لغة جافا بالنسبة للمطورين

  1. لها شعبية هائلة و هناك الكثير من المراجع لمن يريد تعلمها.

  2. بسيطة و تعلمها سهل مقارنةً مع غيرها من اللغات.

  3. شبيهة باللغتين C و C++ و لكن التعامل معها أسهل و سلس أكثر.

  4. إذا أنشأت برنامجاً باستخدام لغة جافا فإن البرنامج يعمل على أي نظام في العالم و هذا من أهم ما يدفعك لتعلمها.

  5. لغة جافا مطلوبة جداً في الخارج, إذا كنت تريد دخول سوق العمل فلغة جافا توفر لك الكثير من الفرص.

مميزات لغة جافا عن باقي لغات البرمجة

  1. مادياً
    لن تدفع أي مبلغ لتعمل على لغة جافا, فهي مصدر مفتوح و مجانية و ستبقى مجانية مدى الحياة.


  2. تقنياً
    تستطيع البرمجة بها حتى و لو كان حاسوبك ضعيفاً أو قديماً.


  3. البساطة
    تعلمها سهل جداً بعد أن تفهم برمجة الكائنات.


  4. العمل بحيادية
    يمكن لمترجم لغة جافا تقسيم أوامر البرنامج ليتنفذ على عدة معالجات بشكل متناسق باستخدام نظام JRE.


  5. تعدد المهام
    جافا توفر لك تقنية الـ Multithreading و التي تسمح لك بجعل برنامجك قادراً على تنفيذ عدة أوامر مع بعض و بنفس الوقت.


  6. سرعة الترجمة
    تتم ترجمة لغة جافا إلى أوامر يفهمها الجهاز بشكل جداً سريع و بدون أن يخزنها و يحاول تحليلها لأن الكائنات فيها تربط مع بعضها بشكل تدريجي مما يجعل الأوامر فيها تتنفذ بسرعة.


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


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

لمن تم إعداد هذا المرجع؟

تم إعداد هذا المرجع ليتلاءم مع جميع الأشخاص الذين يريدون التعلم.
إذاً سواء كنت هاوياً, طالباً أو مبرمجاً, فإن هذا المرجع سيساعدك على فهم أساسيات لغة جافا و الوصول إلى مستوى متقدم جداً.

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

طريقة عمل برنامج مكتوب بلغة جافا

الكود الذي تكتبه على الكمبيوتر لا يعمل بشكل مباشر بل يمر بعدة مراحل تباعاً حتى يعمل تماماً كما في الصورة التالية.


إذاً الكود الذي تكتبه أنت يسمى Source Code.
حتى يتنفذ هذا الكود, يتم تحويله إلى Byte Code بواسطة مترجم لغة جافا ( javac ) و هذا المترجم يضمن أن الكود الذي كتبته يعمل في لغة جافا.
بعدها يقوم مفسر لغة جافا ( JVM ) بتنفيذ الكود على بشكل يلائم نظام التشغيل الذي يستخدمه المستخدم سواء كان Windows, Linux, MacOS.


مصطلحات تقنية

  • Source Code: تعني الكود أو الشفرة المصدرية, و يقال لها أيضاً سورس كود.

  • Byte Code: كود الجافا الذي تم التأكد من صحته و تجهيزه لمفسر لغة جافا.

  • javac: إختصار لـ Java Compiler و يسمى مترجم لغة جافا. فعلياً هو برنامج يحول الكود المكتوب بلغة جافا إلى Byte Code.

  • Interpreter: هو برنامج مهمته تنفيذ الكود حتى يعمل كأي برنامج في حاسوب المستخدم.

  • JVM: إختصار لـ Java Virtual Machine و هو عبارة عن Interpreter خاص لتشغيل الـ Byte Code الذي أصله في الأساس كود جافا كأي برنامج عادي.

  • OS: إختصار لـ Operating System و التي تعني نظام التشغيل.

مفهوم الـ JDK و أهميته بالنسبة للغة جافا

كما لاحظت سابقاً, الكود المكتوب بلغة جافا يمر بعدة مراحل حتى يعمل. و السبب الرئيسي في ذلك أن نظام التشغيل ليس مكتوباً بلغة جافا.
من هذا المنطلق, عليك معرفة أنه حتى يتعرف نظام التشغيل الذي تستخدمه على لغة جافا تحتاج تحميل و تنصيب أدوات تطوير جافا ( Java Development Kit ) و التي يقال لها JDK.


الـ JDK بدوره يتضمن أشياء كثيرة جداً مثل:

  • الكلاسات الجاهزة في جافا.

  • الشروحات للكلاسات و الدوال الجاهزة التي تظهر لك أثناء كتابتك للكود و التي تسمى javadoc.

  • مترجم لغة جافا javac.

  • مشغل لغة جافا ( Java Runtime Environment ) الذي يختصر بـ JRE و الذي بدوره يحتوي على الـ JVM.


خلاصة

بدون الـ JDK لن يستطيع نظام التشغيل التعرف على لغة جافا. و بالتالي لن يستطيع تشغيل أي كود أو حتى برنامج جاهز مكتوب بلغة جافا.

تجهيز بيئة العمل لتطوير تطبيقات بلغة جافا


خطوات تحميل و تثبيت الـ JDK

شاهد الخطوات التالية لتتعلم كيف تقوم بتحميل و تثبيت إصدار الـ JDK الملائم لحاسوبك.

شاهد الخطوات »



خطوات تحميل و تثبيت برنامج NetBeans

شاهد الخطوات التالية لتتعلم كيف تقوم بتحميل و تثبيت إصدار برنامج NetBeans الملائم لحاسوبك.
سبب إستخدامنا لبرنامج Netbeans هو أنه مجاني, سهل الإستخدام و يساعد كثيراً في كتابة الكود.

هنا خطوات تحميله و تنصيبه.

شاهد الخطوات »



خطوات إنشاء مشروع جديد و تشغيله في برنامج NetBeans

هنا وضعنا خطوات إنشاء مشروع ( أي برنامج ) جديد في NetBeans.
إنتبه: عليك إتباع هذه الخطوات في كل مرة تريد فيها تجربة الكود على الكمبيوتر.

شاهد الخطوات »



حل مشاكل قد تتعرض لها أثناء إستخدام برنامج NetBeans

المشكلة الأولى: أحياناً عندما تقوم بإنشاء مشروع جديد ثم تضغط على أيقونة تشغيل المشروع تجد أنه يظهر لك نتيجة مشروع آخر!!!
بمعنى أنه يقوم بتشغيل مشروع آخر و ليس آخر مشروع قمت بكتابته.

المشكلة الثانية: أحياناً بسبب العمل بسرعة تقوم إغلاق إحدى النوافذ المهمة في البرنامج. مثل النافذة التي تظهر فيها كل المشاريع التي قمت بإنشائها أو النافذة التي تظهر فيها نتيجة التشغيل.

شاهد الخطوات »

الشكل العام لأي برنامج مكتوب بلغة جافا

الكلاس الأساسي في المشروع يجب أن يكون شكله كالتالي.

public class هنا يوضع إسم الكلاس {
 
    public static void main(String[] args) {
 
        هنا يجب أن تضع الأوامر التي ستتنفذ عند تشغيل البرنامج
 
    }
 
}
  • في العادة الكلاس الأساسي في المشروع يتم تسميته ">Main مع الإشارة إلى أن هذا لا يعني أنك مجبر على تسميته كذلك.

  • الكود الذي يتنفذ مباشرةً عند تشغيل البرنامج هو الكود الذي نكتبه بداخل حدود الدالة main().

  • سنتطرق إلى مزيد من التفاصيل في الدرس التالي.



في المثال التالي قمنا بإنشاء برنامج إسمه Main, موجود بداخل مجدل إسمه main, مهمته فقط طباعة الجملة "Hello World!" عند التشغيل.

مثال

public class Main {

	  public static void main(String[] args) {

	  System.out.println("Hello World!");

	  }

	  }
	

سنحصل على النتيجة التالية عند التشغيل.

Hello World!
	

ملاحظة

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

في البداية, سنقوم بتحميل إصدار الـ jdk 8 بالتحديد لأننا بعد قليل سنقوم بتحميل برنامج Netbeans المبني في الأساس لهذا الإصدار.
الآن قم باتباع الخطوات التالية:

  1. إبحث في جوجل عن jdk 8.

  2. أنقر على رابط أول موقع يظهر لك في نتائج البحث و سيكون الموقع من موقع Oracle كما يظهر في الرابط لأنها هي من قامت بتطوير الـ jdk 8.

  1. بعد أن تفتح الصفحة الجديدة, قم بالنزول قليلاً حتى تجد جملة Java SE Development Kit 8.

  2. بعدها قم بالنقر على النسخة التي تتناسب مع حاسوبك.
    ملاحظة: في حال كنت لا تعرف النسخة التي تتناسب مع حاسوبك, إذا كنت تستخدم نظام ويندوز قم بتحميل النسخة ما قبل الأخيرة لأنها تعمل على جميع أنظمة ويندوز.


  1. أنقر على خيار I reviewed and accept... حتى يظهر علامة صح و لكي يسمح لك بتحميل نسخة من الـ JDK.

  2. أنقر على زر Download jdk... حتى يبدأ التحميل.

ملاحظة

في حال طلب منك موقع Oracle تسجيل الدخول حتى يسمح لك بالتحميل, إفعل التالي:

  • قم بإنشاء حساب ( مجاني طبعاً ).
    في حال وجدتهم طلبوا معلومات أنت لا تملكها مثل إسم الشركة التي تعمل فيها. عندها ضع أي شيء تريده مثل إسم عائلتك.
    المعلومة الوحيدة التي عليك وضعها بشكل صحيح هي بريدك الإلكتروني لأنه بعد إنشاء الحساب, سيقوم الموقع بإرسال رسالة على البريد الذي وضعته فيها رابط. و سيكون عليك فتح هذه الرسالة و النقر على الرابط الموجود فيها مرة واحدة فقط حتى يتم تأكيد أنك حقاً صاحب البريد الإلكتروني الذي قمت بوضعه.

  • قم بتسجيل الدخول في موقع Oracle بواسطة الحساب الذي أنشأته.

  • تابع باقي الخطوات الموضوعة في الدرس.


  1. بعد تحميل الـ JDK, قم بفتحه حتى تبدأ بتنصيبه.

  1. إضغط على Next.

  1. إضغط على Next.

  1. إذا ظهرت لك الرسالة التالية, إضغط OK و أكمل.

  1. إضغط على Next.

  1. بعدها إنتظر قليلاً إلى أن ينتهي التنصيب.

  1. إضغط على close.

إلى هنا تكون قد قمت بتثبيت الـ JDK بنجاح.
الآن, قم بالعودة للدرس لمشاهدة خطوات تحميل و تنصيب برنامج Netbeans.

خطوات تحميل و تنصيب برنامج NetBeans

  1. أنقر على هذا الرابط netbeans.org/downloads/old/8.2 لتحميل الإصدار الثامن من برنامج NetBeans لأنه يتوافق مع إصدار الـ JDK الثامن الذي قمنا بتحميله سابقاً.

  2. قم بتحديد نظام التشغيل الذي تريد تحميل نسخة من برنامج NetBeans ملائمة له و في حالتنا سنحدد نظام Windows.

  3. قم بتحميل نسخة NetBeans الخاصة بـ Java SE لأنها النسخة التي نحتاجها.

  1. بعدها ستفتح الصفحة التالية و يبدأ التحميل بشكل تلقائي.
    إذا لم يبدأ بالتحميل بشكل تلقائي, قم بالنقر على رباط التحميل الذي أشرنا إليه.

  1. بعد تحميل الـ NetBeans, قم بفتحه حتى تبدأ بتنصيبه.

  1. إضغط على next.

  1. ضع علامة صح على I accept the terms in the.., ثم إضغط على next.

  1. إضغط على Next.

  1. إضغط على Install.

  1. إضغط على Finish.


إلى هنا, تكون قد قمت بتنصيب برنامج الـ NetBeans بنجاح.

خطوات تشغيل برنامج NetBeans

لآن لتفتح برنامج الـ NetBeans ستجده على سطح المكتب, أنقر عليه فقط.
إذا لم تجده على سطح المكتب, إبحث عنه, أي أنقر على زر البحث ثم أكتب netbeans ثم أنقر عليه ليفتح.

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


إلى هنا تكون قد قمت بتثبيت برنامج NetBeans بنجاح.
الآن, قم بالعودة للدرس لتتعلم كيف تستخدم برنامج Netbeans و تكتب أول برنامج لك.

خطوات إنشاء مشروع جديد

  1. أنقر على أيقونة New Project.

  1. ثم أنقر على مجلد Java, ثم مجلد Java Application, ثم أنقر على الزر Next كما في الصورة التالية.

  1. الآن قم بوضع إسم للمشروع, ثم ضع إسم للكلاس الذي سيتم إنشاؤه بداخل المشروع, ثم إضغط Finish كما في الصورة التالية.
    ملاحظة: هنا قمنا بتسمية المشروع و الكلاس الذي بداخله Test مع الإشارة إلى أنه يمكنك وضع أي إسم تريد.
    إنتبه: لا يمكنك إنشاء مشروعين عندهم نفس الإسم و إن فعلت ذلك سيظهر لك أن هناك مشكلة.

  1. قم بمسح جميع التعليقات الموجودة في ملف الجافا بتأني و إنتبه جيداً لكي لا تمسح كودات الجافا.
    ملاحظة: كل شيء موضوع بين /*   */ أو يوجد قبله // هو مجرد تعليق.
    التعليق هو ملاحظة يكتبها المبرمج فوق الكود و هذه الملاحظة لا تؤثر إطلاقاً على الكود, لذلك قم بمسح جميع التعليقات عند إنشاء أي مشروع جديد لأنك لست بحاجة إليهم.

  1. بعد مسح جميع التعليقات سيكون شكل الكلاس هكذا.

  1. في الأخير إضغط على أيقونة الحفظ لتحفظ جميع التعديلات التي قمت بإجرائها.


خطوات تشغيل المشروع

  1. في الدروس اللاحقة عندما تنتهي من كتابة أي برنامج, إضغط على أيقونة الحفظ ثم أيقونة التشغيل لكي يقوم بتشغيل البرنامج الذي قمت بكتابته.

  2. عندما تقوم بتشغيل البرنامج ستظهر نافذة جديدة في أسفل الشاشة و تظهر فيها نتيجة تشغيل الكود الذي قمت بكتابته, و كم ترى أنه لا يظهر لك أي شيئ, لأنك لم تكتب أي كود بعد.


المشكلة الأولى:  عند النقر على زر التشغيل يقوم بتشغيل مشروع آخر

في البداية هذه المشكلة قد تواجهك إذا قمت بكتابة الكثير من المشاريع.
أحياناً عندما تقوم بإنشاء مشروع جديد ثم تضغط على أيقونة تشغيل المشروع تجد أنه يظهر لك نتيجة مشروع آخر!!!
بمعنى أنه يقوم بتشغيل مشروع آخر و ليس آخر مشروع قمت بكتابته.


إذاً كيف تجعله يقوم بتشغيل المشروع الذي تريد أنت تشغيله؟

الحل جداً بسيط, إتبع الخطوات التالية:

  1. إضغط على Run.

  2. إضغط على Set Main Project.

  3. أنقر على إسم المشروع الذي تريد تشغيله.

  4. قم بتشغيل البرنامج الآن و ستجد هذه المشكلة لم تعد موجودة.


المشكلة الثانية:  إختفاء النوافذ

أحياناً بسبب العمل بسرعة تقوم إغلاق إحدى النوافذ المهمة في البرنامج. مثل النافذة التي تظهر فيها كل المشاريع التي قمت بإنشائها أو النافذة التي تظهر فيها نتيجة التشغيل كما في الصورة التالية.

إذاً كيف ترجع النوافذ التي لا تجدها؟

الحل جداً بسيط, إتبع الخطوات التالية:

  1. إضغط على Window.

  2. إضغط على Reset Windows.

  3. في الأخير قم بإغلاق كل النوافذ التي لا حاجة لها.

بناء برنامج بلغة جافا

يمكننا تعريف أي برنامج مكتوب بلغة جافا على أنه مجموعة من الكائنات مرتبطة مع بعضها البعض بشكل منطقي و متسلسل.

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

  • الكلاس ( Class )

  • الكائن ( Object )

  • الخصائص ( Instance variables )

  • الدوال ( Methods )

مفهوم الكلاس

الكلاس عبارة عن حاوية كبيرة تستطيع أن تحتوي كل الكود من متغيرات و دوال و كائنات إلخ..





مفهوم الكائن

الكائن عبارة عن نسخة مطابقة لكلاس معين.

بما أن الكائن عبارة عن نسخة من الكلاس, يمكننا القول أنه لا يمكن إنشاء كائن إذا لم يكن هناك كلاس.
إذاً في مفهوم برمجة الكائنات نقوم بإنشاء كلاس معين يسمونه blue print أي (النسخة الخام أو النسخة الأصلية) , و بعدها ننشئ نسخة أو أكثر من هذا الكلاس و نفعل بها ما نريد بدون أن نغير محتويات الكلاس الأساسي و هكذا نكون حافظنا على كودات الكلاس الأساسي لأننا نعدل على النسخ و ليس عليه مباشرةً.

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


ملاحظة: الكائن هو نسخة من الكلاس و ليس نسخة من الملف الذي يحتوي على الكلاس.
كما أن الكلاس الأساسي يتم إنشائه بدون إعطاء قيم لمتغيراته و سنرى في دروس لاحقة كيف أننا نغير قيم الكائنات و ليس قيم الكلاس الأصلي مباشرةً.

لا تقلق ستفهم كل شيء في دروس لاحقة.

مفهوم الخصائص

كل كائن ننشئه من كلاس معين يملك نسخة خاصة به من المتغيرات الموجودة في هذا الكلاس. المتغيرات التي يتم إعطاء نسخة منها لكل كائن من الكلاس هي ما تسمى بالخصائص, مثال:

إذا كان عندنا كلاس إسمه Harmash يحتوي على متغيرين x و y, و أنشأنا منه كائنين, الكائن الأول إسمه A و الثاني إسمه B.
هنا سيكون كل كائن يحتوي نسخة خاصة من الأشياء الموجودة في الكلاس Harmash.
سيملك الكائن A نسخة خاصة به من المتغيرين x و y لا علاقة للكائن B فيها.
و سيملك الكائن B نسخة خاصة به من المتغيرين x و y لا علاقة للكائن A فيها.



مفهوم الدوال

الدالة ( أو الميثود ) عبارة عن كود جاهز يتنفذ فقط عندما تقوم بإستدعائه.

مثال

public void welcome()
	  {
	  System.out.print("welcome to www.harmash.com");
	  }
	

ملاحظة: في البرامج الحقيقية لا يتم تعريف جميع الدوال في الكلاس الأساسي في المشروع و الذي يسمى Main Class. بل يتم تعريفهم في كلاس ثاني أو أكثر من كلاس و عند الحاجة يتم إستدعاءهم. لا تقلق ستفهم كل شيء في دروس لاحقة.

أسلوب العمل كمبرمج في شركة أو مع مجموعة

في المشاريع الكبيرة يتم تقسيم البرنامج الواحد إلى عدة أقسام, كل مبرمج يكون مسؤول عن قسم معين في البرنامج.
الآن إليك ما يحدث, يقوم مدير المشروع بتقسيم العمل على المبرمجين, فيطلب من كل مبرمج أن ينشئ ملف جافا و ينشئ فيه كلاس و يضع فيه كوداته.
بعد إنهاء جميع أقسام البرنامج الموجودة في عدة كلاسات منفصلة - لأن كل مبرمج يعمل على ملف جافا خاص - يقوم مدير المشروع بتجميع أقسام البرنامج كلها.


كيف يفعل ذلك ؟

  1. إنتبه: لا يقوم المدير بتعديل الملفات التي أعطاه إياها المبرمجين.

  2. يقوم المدير بإنشاء مشروع جديد و إنشاء الكلاس الأساسي في المشروع, أي الـ Main Class.

  3. ثم يقوم بانشاء كائنات من الكلاسات التي أنشأها المبرمجين بداخل هذا الكلاس, و هكذا يكون قد قام بجمعها كلها في مكان واحد, أي ربط جميع الكائنات مع بعضها.


إذاً مهمة المدير هي فقط ربط الكائنات و دمجها مع بعضها بالشكل الصحيح للحصول على برنامج واحد.
و في حال أراد المدير إضافة شيء ما في قسم معين من البرنامج, فإنه يطلب من المبرمج الذي كتب ذلك القسم أن يضيف عليه كود جديد.
و يستطيع المدير الوصول إلى هذا الكود الجديد من خلال الكائنات.

لا تقلق إذا لم تفهم كل شيء تم ذكره حتى الآن لأن الهدف الأساسي هو إعطاءك فكرة عامة. كما أنك ستتعلم طريقة بناء المشاريع من الصفر بعد أن تتعلم كل ما تحتاجه.

مبادئ كتابة الكود في جافا


Case Sensitivity

لغة جافا تطبق مفهوم الـ Case Sensitivity, و هذا يعني أنها تميز بين الأحرف الكبيرة و الأحرف الصغيرة.

مثال: note و Note ليسوا شيئاً واحداً.



إسم الكلاس

دائماً إبدأ إسم الكلاس بحرف كبير.
مثال: class First

إذا كان إسم الكلاس يتألف من أكثر من كلمة, إجعل أول حرف من كل كلمة كبيراً.
مثال: class FirstJavaClass



إسم الدالة

دائماً إبدأ إسم الدالة بحرف صغير.
مثال: public void display()

إذا كان إسم الدالة يتألف من أكثر من كلمة, إجعل أول كلمة تبدأ بحرف صغير و جميع الكلمات التي تليها تبدأ بحرف كبير.
مثال: public void displayUserInfo()



إسم الملف الذي يحتوي على الكلاس

إسم كلاس الجافا يجب أن يكون مطابقاً لإسم الملف الموجود بداخله.
مثال: إذا كان إسم الكلاس class Harmash يجب أن يكون موجوداً في ملف جافا إسمه Harmash.java كما في هذه الصورة:


إنتبه: إذا كان إسم الكلاس مختلف عن إسم الملف فإن مترجم لغة جافا ( javac ) الذي يحول كود الجافا للغة يفهمها الكمبيوتر, لن يستطيع إيجاد الكلاس لأنه يبحث عن الملف أولاً ثم يتوقع أن يكون الكلاس يحمل نفس الإسم, و سيسبب ذلك مشاكل في الكود.



نقطة البداية

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

نقطة البداية ( Entry Point ) في جافا هي الدالة main() و لذلك عند إنشاء أي مشروع جديد تجد هذه الدالة جاهزة فيه كالتالي.

مثال

public class Example {

	  // main() الدالة
	  public static void main(String[] args) {

	  // الكود الذي يوضع هنا هو الذي سيتنفذ عند تشغيل البرنامج

	  }

	  }
	

إذاً, بالمنطق يجب أن يحتوي أي مشروع على دالة main() واحدة لأنها نقطة البداية.
و كخلاصة للموضوع, نقطة البداية تعني أول مكان سيتم تنفيذ الأوامر الموجودة فيه عند تشغيل البرنامج.



التعليقات

نستخدم التعليقات لنضع ملاحظات حول الكود الذي كتبناه فقط, لكي لا ننسى كيف برمجنا الكود في حال أردنا مراجعته أو التعديل عليه بعد وقت طويل. كما أن التعليقات لا تؤثر إطلاقاً على الكود المكتوب. يوجد أسلوبين لوضع تعليقات في جافا:


تعليق على سطر واحد.

مثال

// هذا تعليق يتألف من سطر واحد
	

تعليق على عدة أسطر.

مثال

/* هذا تعليق
	  * يتألف من
	  * عدة أسطر
	  */ 
	

تذكر: أنت لست مجبراً على وضع تعليقات في برامجك. و لكننا ننصحك بوضع تعليقات دائماً حتى تساعدك في فهم الكود الذي كتبته.

الأحرف المستخدمة في وضع الأسماء في جافا

أي إسم نضعه لمتغير, دالة, كلاس, كائن إلخ.. يسمى identifier في البرمجة.
في جافا كل عنصر نريد إنشاؤه علينا إعطاؤه إسم خاص, أي علينا تحديد الـ identifier له.
إذاً يتم التمييز بين العناصر في جافا من خلال أسمائهم, أي من خلال الـ Identifiers.


قواعد إلزامية عند إعطاء الأسماء

  1. جميع الـ Identifiers يجب أن يبدأوا بحرف كبير بين A-Z أو حرف صغير بين a-z أو رمز الدولار $ أو الشحطة _.

  2. يمنع بدء الـ Identifiers برقم.

  3. يمنع استخدام الـ Literals أي القيم true, false و null.

  4. يمنع إستخدام أي كلمة من الكلمات المحجوزة ( Keywords ).

  5. لا تنسى أن جافا تطبق مبدأ الـ Case Sensitive.


ركز على أول حرف فقط

أمثلة للأسماء التي يسمح باستخدامها: Harmash , name , $money , _number

أمثلة للأسماء التي يمنع استخدامها: 1st , -cash , @user

الكلمات المحجوزة في جافا

جميع الكلمات التالية محجوزة للغة جافا, أي لا يمكن إستخدامها كـ Identifiers.

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while