حقول الفصل يكمن جوهر البرمجة الشيئية في تمثيل البرنامج كتفاعل بين كائنات .
نبسب ؛
الكائن هو نوع من الكيان له خصائص معينة وعمليات معينة عليه.
تم إنشاء الكائنات في الأصل لمحاكاة الواقع: يمكن تمثيل العديد من الأشياء من حولنا ككائن. على سبيل المثال ، يمكن اعتبار الكتاب الذي قرأته مؤخرًا كائنًا بخصائص "الاسم" و "المؤلف" و "التصنيف العمري" و "نص الكتاب" و "عدد الصفحات" وما إلى ذلك. يمكنه إجراء عمليات مثل "قراءة كتاب" ، "حرق كتاب" ، إلخ.
في مصطلحات لغة برمجة جافا ، فإن هذه "الخصائص" تسمى الحقول ، وتسمى العمليات على الكائنات طرق .
نظرًا لأن Java لغة مكتوبة بشكل ثابت ، يجب إنشاء أي كائن وفقًا لبعض الأنماط. في جافا ، هذه القوالب هي فئات . تصف الفئة الحقول التي يمكن أن يحتوي عليها نوع معين من الكائنات وما هي العمليات المحددة عليها.
الفرق بين class و object يماثل الفرق بين "car" و & quot؛ تويوتا كامري متوقفة في المنزل الخامس بشارع تشيبوريكوفو & quot ؛.

ضع في اعتبارك إجراء إنشاء فئة الكائنات الخاصة بك مع الحقول في Java. كتاب الصف { اسم السلسلة ؛ اسم مؤلف السلسلة ؛ العمر الداخلي نص سلسلة عدد الصفحات } ينشئ هذا الرمز class " Book ". كائنات الفئة & laquo؛ Book & raquo؛ هناك خاصيتان صحيحتان (مسميتان & aquo؛ ageRequirement & raquo؛ و & laquo؛ pageCount & raquo؛) وثلاث خصائص من النوع & laquo؛ String & raquo؛ (بالأسماء " name " و " authorName " و " text ".
الصيغة العامة لإنشاء فئة مع الحقول هي كما يلي.
نبسب ؛ فئة العلامة & lt ؛ اسم الفئة & GT. { & lt؛ نوع الملكية الأول & GT؛ & lt ؛ اسم الخاصية الأول & GT. & lt ؛ نوع الخاصية الثانية & GT. العلامة & lt ؛ اسم الخاصية الثانية & GT. ومرحبا. & lt ؛ نوع آخر ملكية & GT. & lt ؛ اسم الملكية الأخير & GT. }

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

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

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

     فئة   كتاب 
     {
        اسم السلسلة ؛ 
        اسم مؤلف السلسلة  ؛ 
         int  ageRequirement ؛ 
        نص السلسلة ؛ 
         int  pageCount ؛ 
         // إنشاء طريقة طباعة 
         باطل   طباعة   (  int  العمر ) 
         {
            النظام .   خارج  .  < span style = "color: # 7d9029"> println   ( & quot؛ الاسم :  & quot؛  +  الاسم 
            النظام .   خارج  .  < span style = "color: # 7d9029"> println   ( & quot؛ المؤلف :  & quot؛  +  اسم المؤلف 
            النظام .   خارج  .  < span style = "color: # 7d9029"> println   ( & quot؛ عدد الصفحات :  " +  عدد صحيح .   toString   ( ageRequirement 
             // يظهر رمز التحقق هنا 
        } 
    } 
نبسب ؛
دعنا نحلل بناء الجملة لإنشاء طريقة.
1) السطر الأول من الأسلوب هو توقيعه .
2) يتم كتابة نوع الإرجاع للطريقة أولاً. طريقتنا لا ترجع أي قيمة ، لذلك نكتب void .
3) ثم في التوقيع هو اسم الطريقة ( طباعة ).
4) بين قوسين هناك قائمة الحجج. الحجج مفصولة بفواصل. لكل وسيطة ، يتم تحديد نوعها واسمها ، مفصولة بمسافة. في حالتنا ، هناك وسيطة واحدة فقط ، وهي من النوع int والاسم age ، لذلك لا توجد فواصل.
5) بعد ذلك يأتي رمز الطريقة بأقواس معقوفة. لإرجاع قيمة من طريقة ، اكتب return & lt؛ value & gt ؛؛ . في المثال ، لا تقوم الطريقة بإرجاع أي شيء ، لذلك يمكن حذف return . لإنهاء تنفيذ طريقة ما قبل الأوان ، يمكنك كتابة return؛ .
6) في الفصل نفسه ، يمكننا الرجوع إلى حقول كائن هذه الفئة بالاسم.

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

يمكن جعل الحقول والأساليب عامة باستخدام أداة تعديل الوصول عامة . يوجد أيضًا مُعدِّل خاص يجعل الحقل خاصًا. إنه اختياري لأن جميع الحقول والأساليب خاصة بشكل افتراضي. فيما يلي مثال على استخدام معدّلات public & nbsp؛ و private . كتاب الصف { Stringname العام ؛ اسم مؤلف السلسلة ؛ العمر الداخلي الخاص نص سلسلة public int pageCount ؛ int getTextLength () { طول النص العائد () ؛ } public int getAverageLetterCount () { إرجاع getTextLength () / pageCount ؛ } getDifficuiltyLevel الخاص int () { إرجاع 5 * ageRequirement * text.Length () ؛ } }
في هذا الإصدار من فئة Book ، تكون الحقول name & nbsp؛ و pageCount & nbsp؛ عامة للقراءة والتعديل في الكائنات الأخرى. طريقة getAverageLetterCount () متاحة أيضًا ليتم استدعاؤها من كائنات الفئات الأخرى. تظل جميع الحقول والأساليب الأخرى خاصة ومتاحة فقط في طرق هذه الفئة. في الطريقة العامة getAverageLetterCount () يمكننا استدعاء الطريقة الخاصة getTextLength () لأن getAverageLetterCount () ينتمي إلى الفئة نفسها. لكنها لن تنجح من طريقة من فئة أخرى.

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

ناقشت الدروس حتى الآن إنشاء فئات ، وهي قوالب لإنشاء الكائنات. في نفس الدرس ، سيتم وصف عملية إنشاء واستخدام الكائنات نفسها.

روابط
في لغة Java ، لا يمكن للمتغير تخزين كائن. بدلاً من ذلك ، تحتوي Java على مراجع تشير إلى موقع الكائن في الذاكرة.
بناء الجملة لإنشاء متغير من نوع مرجع كائن كما يلي:
العلامة & lt ؛ اسم الفئة & GT. & lt؛ اسم المتغير & gt ؛؛
تجدر الإشارة إلى أننا نشير على الفور إلى الفئة التي سيتم الرجوع إلى كائناتها.

مثال: متغير باسم "ب" يشير إلى فئة الكتاب:

كتاب ب ؛

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

 public   class   Libary   {
   عام  كتاب  []  كتب ؛ 
   عام  الكتاب  findBookWithName   ( اسم السلسلة )   {
 // كود يعثر على الكتاب الصحيح 
  } 



الخلاصة: من نواحٍ عديدة ، يمكنك العمل مع المراجع بنفس الطريقة المتبعة مع متغيرات الأنواع الأولية الأخرى (int ، long ، double ...).