يمكن اعتبار برنامج Java بمثابة مجموعة من الكائنات التي تعمل معًا عن طريق استدعاء أساليب بعضها البعض. يقدم ما يلي بإيجاز مفاهيم الفئات والكائنات والأساليب ومتغيرات الحالة.
الكائن : الكائن هو مثيل لفئة وله حالة وسلوك. على سبيل المثال، الكلب شيء. وتشمل حالته: اللون، والاسم، والسلالة؛ وتشمل سلوكياته: هز ذيله، والنباح، والأكل، وما إلى ذلك.
الفئة : الفئة عبارة عن قالب يصف سلوك فئة الكائنات وحالتها.
الطريقة : الطريقة هي السلوك، ويمكن أن يحتوي الفصل على العديد من الأساليب. يتم إكمال العمليات المنطقية وتعديل البيانات وجميع الإجراءات بالطرق.
متغيرات المثيل : لكل كائن متغيرات مثيل فريدة، ويتم تحديد حالة الكائن من خلال قيم متغيرات المثيل هذه.
دعونا نلقي نظرة على برنامج Java بسيط يقوم بطباعة السلسلة Hello World
الطبقة العامة MyFirstJavaProgram {
/* أول برنامج جافا.
* سيتم طباعة السلسلة Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // طباعة Hello World
}
}
فيما يلي دليل خطوة بخطوة حول كيفية حفظ هذا البرنامج وتجميعه وتشغيله:
افتح برنامج "المفكرة" وأضف الكود أعلاه؛
احفظ اسم الملف كـ: MyFirstJavaProgram.java؛
افتح نافذة الأوامر cmd وأدخل موقع الملف الهدف، على افتراض أنه C:
اكتب javac MyFirstJavaProgram.java في نافذة سطر الأوامر واضغط على زر الإدخال لتجميع التعليمات البرمجية. إذا لم تكن هناك أخطاء في التعليمات البرمجية، فسوف ينتقل موجه الأوامر cmd إلى السطر التالي. (على افتراض أن متغيرات البيئة كلها مضبوطة).
ثم اكتب java MyFirstJavaProgram واضغط على مفتاح Enter لتشغيل البرنامج.
سترى Hello World في النافذة
ج:> javac MyFirstJavaProgram.java
ج:> جافا MyFirstJavaProgram
مرحبا بالعالم
عند كتابة برامج جافا يجب الانتباه إلى النقاط التالية:
حساسية حالة الأحرف : Java حساسة لحالة الأحرف، مما يعني أن المعرفات Hello و hello مختلفتان.
اسم الفئة : بالنسبة لجميع الفئات، يجب أن يكون الحرف الأول من اسم الفئة كبيرًا. إذا كان اسم الفئة يتكون من عدة كلمات، فيجب كتابة الحرف الأول من كل كلمة بأحرف كبيرة، على سبيل المثال، MyFirstJavaClass.
أسماء الطرق : يجب أن تبدأ جميع أسماء الطرق بحرف صغير. إذا كان اسم الطريقة يحتوي على عدة كلمات، فسيتم كتابة الحرف الأول من كل كلمة لاحقة بحرف كبير.
اسم الملف المصدر : يجب أن يكون اسم الملف المصدر هو نفس اسم الفئة. عند حفظ الملف، يجب عليك استخدام اسم الفئة كاسم ملف (تذكر أن Java حساسة لحالة الأحرف) ولاحقة اسم الملف .java. ( إذا كان اسم الملف واسم الفئة مختلفين، فسيحدث خطأ في الترجمة ).
إدخال الطريقة الرئيسية : تبدأ جميع برامج Java في التنفيذ من الطريقة public static void main(String [] args)
.
تتطلب جميع مكونات Java أسماء. تسمى أسماء الفئات وأسماء المتغيرات وأسماء الطرق معرفات.
فيما يتعلق بمعرفات Java، هناك النقاط التالية التي يجب ملاحظتها:
يجب أن تبدأ جميع المعرفات بحرف (AZ أو az)، أو علامة الدولار ($)، أو شرطة سفلية (_)
يمكن أن يتبع الحرف الأول أي مجموعة من الأحرف (AZ أو az) أو علامات الدولار ($) أو الشرطات السفلية (_) أو الأرقام.
لا يمكن استخدام الكلمات الرئيسية كمعرفات
المعرفات حساسة لحالة الأحرف
أمثلة على المعرفات القانونية: العمر، $salary، _value، __1_value
أمثلة على المعرفات غير القانونية: 123abc، -salary
مثل اللغات الأخرى، يمكن لـ Java استخدام المعدلات لتعديل الأساليب والخصائص في الفئات. هناك نوعان رئيسيان من المعدلات:
معدّلات التحكم في الوصول: افتراضية وعامة ومحمية وخاصة
معدّلات عدم التحكم في الوصول: نهائية ومجردة وثابتة ومتزامنة ومتقلبة
سنناقش معدّلات Java بعمق في الفصول اللاحقة.
هناك بشكل أساسي الأنواع التالية من المتغيرات في Java:
المتغيرات المحلية
متغيرات الفئة (المتغيرات الثابتة)
متغيرات الأعضاء (المتغيرات غير الثابتة)
المصفوفات هي كائنات مخزنة في الكومة ويمكنها الاحتفاظ بمتغيرات متعددة من نفس النوع. في الفصول اللاحقة، سوف نتعلم كيفية الإعلان عن المصفوفة وإنشائها وتهيئتها.
قدم Java 5.0 التعدادات، التي تقيد المتغيرات بقيم محددة مسبقًا. يمكن أن يؤدي استخدام التعدادات إلى تقليل الأخطاء في التعليمات البرمجية الخاصة بك.
على سبيل المثال، قمنا بتصميم برنامج لمحل عصير بحيث يقتصر العصير على الأكواب الصغيرة والمتوسطة والكبيرة. وهذا يعني أنها لا تسمح للعملاء بطلب العصائر بخلاف تلك الأحجام الثلاثة.
فئة عصير طازج {
التعداد FreshJuiceSize{ صغير، متوسط، كبير }
حجم العصير الطازج؛
}
الطبقة العامة FreshJuiceTest {
الفراغ الثابت العام الرئيسي(String args[]){
عصير FreshJuice = FreshJuice () جديد؛
عصير.حجم = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
ملاحظة: يمكن الإعلان عن التعدادات بشكل فردي أو داخل الفصل الدراسي. يمكن أيضًا تعريف الطرق والمتغيرات والمنشئات في التعدادات.
الكلمات المحجوزة لجافا مدرجة أدناه. لا يمكن استخدام هذه الكلمات المحجوزة في أسماء الثوابت والمتغيرات وأي معرفات.
الكلمات الرئيسية | يصف |
---|---|
خلاصة | الأساليب المجردة، ومعدلات الطبقات المجردة |
تأكيد | التأكد من استيفاء الشرط |
منطقية | نوع البيانات المنطقية |
استراحة | الخروج من الحلقة أو مقطع رمز التسمية |
بايت | نوع البيانات الموقعة 8 بت |
قضية | شرط بيان التبديل |
يمسك | استخدمه مع محاولة التقاط معلومات الاستثناء |
شار | نوع بيانات حرف Unicode ذو 16 بت |
فصل | تحديد الطبقة |
ثابت | غير مستخدم |
يكمل | لا تقم بتنفيذ ما تبقى من جسم الحلقة |
تقصير | الفرع الافتراضي في بيان التبديل |
يفعل | عبارة Loop، سيتم تنفيذ نص الحلقة مرة واحدة على الأقل |
مزدوج | رقم النقطة العائمة مزدوج الدقة 64 بت |
آخر | يتم تنفيذ الفرع عندما يكون شرط if غير صحيح |
التعداد | نوع التعداد |
يمتد | يشير إلى أن فئة واحدة هي فئة فرعية من فئة أخرى |
أخير | يشير إلى أنه لا يمكن تغيير القيمة بعد التهيئة. يشير إلى أنه لا يمكن تجاوز الطريقة، أو أن الفئة لا يمكن أن تحتوي على فئات فرعية. |
أخيراً | تم تصميمه لإكمال تنفيذ التعليمات البرمجية، بشكل أساسي من أجل قوة البرنامج وسلامته، وسيتم تنفيذ التعليمات البرمجية بغض النظر عما إذا كان هناك استثناء أم لا. |
يطفو | رقم النقطة العائمة ذو الدقة الواحدة 32 بت |
ل | لبيان الحلقة |
انتقل إلى | غير مستخدم |
لو | بيان مشروط |
ينفذ | يشير إلى أن الفصل يقوم بتنفيذ الواجهة |
يستورد | استيراد الطبقة |
مثيل | اختبار ما إذا كان الكائن هو مثيل لفئة |
كثافة العمليات | عدد صحيح 32 بت |
واجهة | الواجهة، نوع تجريدي يحتوي فقط على تعريفات للطرق والثوابت |
طويل | عدد صحيح 64 بت |
محلي | يتم تنفيذ طرق التمثيل في كود غير جافا |
جديد | تخصيص مثيل فئة جديدة |
طَرد | تشكل سلسلة من الفئات ذات الصلة حزمة |
خاص | يشير إلى الحقول والأساليب الخاصة وما إلى ذلك، والتي لا يمكن الوصول إليها إلا من داخل الفصل الدراسي |
محمي | يشير إلى أنه لا يمكن الوصول إلى الحقل إلا من خلال الفئة أو فئاتها الفرعية أو الفئات الأخرى في نفس الحزمة. |
عام | يمثل الخصائص أو الأساليب المشتركة |
يعود | قيمة إرجاع الطريقة |
قصير | 16 رقما |
ثابت | يمثل شيئًا محددًا على مستوى الفصل ومشتركًا بين جميع الحالات. |
com.strictfp | تستخدم مقارنات النقطة العائمة قواعد صارمة |
ممتاز | يمثل الطبقة الأساسية |
يُحوّل | حدد البيان |
متزامن | يمثل كتلة من التعليمات البرمجية التي لا يمكن الوصول إليها إلا من خلال مؤشر ترابط واحد في كل مرة |
هذا | يشير إلى استدعاء المثيل الحالي أو استدعاء منشئ آخر |
يرمي | رمي استثناء |
رميات | تحديد الاستثناءات التي قد يتم طرحها بواسطة إحدى الطرق |
عابر | تعديل الحقول بحيث لا يتم إجراء تسلسل لها |
يحاول | يشير إلى أن كتلة التعليمات البرمجية تحتاج إلى التعامل مع الاستثناءات أو التعاون معها أخيرًا للإشارة إلى ما إذا تم طرح استثناء، فسيتم تنفيذ التعليمات البرمجية في النهاية. |
فارغ | طريقة Mark لا تُرجع أي قيمة |
متقلب | يمكن الوصول إلى حقول العلامات في وقت واحد من خلال سلاسل رسائل متعددة دون مزامنة |
بينما | أثناء الحلقة |
على غرار C/C++، تدعم Java أيضًا التعليقات ذات السطر الواحد والمتعددة الأسطر. سيتم تجاهل الأحرف الموجودة في التعليقات بواسطة مترجم Java.
الفئة العامة MyFirstJavaProgram{
/* هذا هو أول برنامج جافا *سيطبع Hello World
* هذا مثال لتعليق متعدد الأسطر */
الفراغ الثابت العام الرئيسي (String []args) {
// هذا مثال لتعليق من سطر واحد /* هذا أيضًا مثال لتعليق من سطر واحد */
System.out.println("مرحبا بالعالم");
}
}
يتم تجاهل الأسطر الفارغة، أو الأسطر التي تحتوي على تعليقات فقط، بواسطة مترجم Java.
في Java، يمكن اشتقاق فئة من فئات أخرى. إذا كنت تقوم بإنشاء فصل دراسي وكان هناك بالفعل فصل يحتوي على الخصائص أو الأساليب التي تحتاجها، فيمكنك وراثة الفصل الذي تم إنشاؤه حديثًا من هذا الفصل.
باستخدام الوراثة، يمكنك إعادة استخدام أساليب وخصائص الفئات الموجودة دون الحاجة إلى إعادة كتابة التعليمات البرمجية. تسمى الفئة الموروثة بالفئة الفائقة، وتسمى الفئة المشتقة بالفئة الفرعية.
في Java، يمكن فهم الواجهة على أنها بروتوكول للاتصال بين الكائنات. تلعب الواجهات دورًا مهمًا جدًا في الميراث.
تحدد الواجهة فقط الطرق التي ستستخدمها الفئة المشتقة، لكن التنفيذ المحدد للطريقة يعتمد بشكل كامل على الفئة المشتقة.
يقدم القسم التالي الفئات والكائنات في برمجة Java. بعد ذلك سيكون لديك فهم أوضح للفئات والكائنات في Java.