في المقالة "من Hello World إلى Object-Oriented" في دروس Java الأساسية، لدينا فهم أولي للكائنات. يمثل أعضاء البيانات في الكائن حالة الكائن. يمكن للكائنات تنفيذ أساليب تمثل إجراءات محددة.
بالإضافة إلى ذلك، تعلمنا أيضًا عن الفصول الدراسية. الكائنات من نفس الفئة تنتمي إلى نفس النوع. يمكننا تعريف الفئات واستخدام هذا التعريف لإنشاء الكائنات.
دعونا نتعمق أكثر في الأشياء. تعرف على بعض التفاصيل حول الأساليب وأعضاء البيانات في Java.
استدعاء أعضاء البيانات من نفس الكائن
يمكن للطرق استدعاء أعضاء بيانات الكائن. على سبيل المثال، أدناه نضيف طريقة getHeight() إلى فئة الإنسان. تقوم هذه الطريقة بإرجاع قيمة عضو بيانات الارتفاع:
انسخ رمز الكود كما يلي:
اختبار الطبقة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
Human aPerson = new Human();
System.out.println(aPerson.getHeight());
}
}
com.classHuman
{/**
*الملحقات
*/
كثافة العمليات الحصول على الارتفاع ()
{
إرجاع هذا الارتفاع؛
}
ارتفاع كثافة العمليات؛
}
لقد أضفنا طريقة getHeight. تحتوي هذه الطريقة على قيمة إرجاع من النوع int. يتم استخدام Return في Java لإرجاع قيمة.
لاحظ هذا، والذي يستخدم للإشارة إلى الكائن نفسه. عندما نقوم بإنشاء مثيل aPerson، فهذا يمثل كائن aPerson. يشير هذا الارتفاع إلى ارتفاع الشخص.
هذه حجة ضمنية. عندما يتم استدعاء أسلوب ما، على الرغم من أن قائمة معلمات الأسلوب لا تتضمن ذلك، فإن Java ستمرر هذه المعلمة إلى الأسلوب "بصمت".
(هناك بعض الأساليب الخاصة التي لا تمر بذلك ضمنا، سنراها لاحقا)
هذا غير مطلوب، يمكن كتابة الطريقة المذكورة أعلاه على النحو التالي:
انسخ رمز الكود كما يلي:
/**
*الملحقات
*/
كثافة العمليات الحصول على الارتفاع ()
{
ارتفاع العودة
}
ستحدد Java بنفسها أن الارتفاع هو عضو بيانات في الفصل. ولكن سيكون أكثر وضوحا باستخدام هذا.
لقد رأينا أيضًا طريقة /** comments */ لإضافة التعليقات.
قائمة معلمات الطريقة
تشبه تعريفات الطريقة في Java الوظائف الموجودة في لغة C. يمكن أن تتلقى أساليب Java أيضًا قائمة وسائط (قائمة الوسائط) بين قوسين بعد اسم الطريقة. بعد ذلك نحدد طريقة GrowHeight() ووظيفة هذه الطريقة هي زيادة طول الشخص:
انسخ رمز الكود كما يلي:
اختبار الطبقة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
Human aPerson = new Human();
System.out.println(aPerson.getHeight());
aPerson.growHeight(10);
System.out.println(aPerson.getHeight());
}
}
com.classHuman
{
/**
*الملحقات
*/
كثافة العمليات الحصول على الارتفاع ()
{
إرجاع هذا الارتفاع؛
}
/**
* تمرير الحجة
*/
ارتفاع الفراغ (كثافة العمليات ح)
{
this.height = this.height + h;
}
ارتفاع كثافة العمليات؛
}
في GrowHeight()، h هي المعلمة التي تم تمريرها. في تعريف الفئة، يتم ذكر نوع المعلمة (int). داخل طريقة محددة، يمكننا استخدام هذه المعلمة. هذه المعلمة صالحة فقط في نطاق هذه الطريقة، أي GrowHeight().
عند الاتصال، نمرر 10 إلى GrowHeight(). يزداد طول الشخص بمقدار 10.
استدعاء أساليب أخرى على نفس الكائن
داخل الطريقة، يمكن استدعاء طرق أخرى لنفس الكائن. عند الاتصال، استخدم نموذج this.method(). نتذكر أيضًا أن هذا يشير إلى الكائن. لذلك يشير this.method() إلى طريقة الأسلوب() للكائن نفسه.
على سبيل المثال، دالة RepeatBreath() التالية:
انسخ رمز الكود كما يلي:
اختبار الطبقة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
Human aPerson = new Human();
aPerson.repeatBreath(10);
}
}
com.classHuman
{
نفس فارغ ()
{
System.out.println("هو...هو...");
}
/**
* استدعاء التنفس ()
*/
تكرار الفراغ (int مندوب)
{
كثافة العمليات أنا؛
ل(i = 0; i < مندوب; i++) {
this.breath();
}
}
ارتفاع كثافة العمليات؛
}
من أجل تسهيل التكرار، في طريقة RepeatBreath()، نعلن عن كائن i من النوع int. يقتصر نطاق i على نطاق طريقة RepeatBreath ().
(وهذا مشابه للمتغيرات التلقائية في وظائف لغة C)
تهيئة عضو البيانات
في Java، هناك طرق عديدة لتهيئة أعضاء البيانات. على سبيل المثال، في مثال getHeight() أعلاه، على الرغم من أننا لا نقدم أبدًا قيمة للارتفاع، إلا أن Java تختار لنا قيمة أولية افتراضية وهي 0.
القيم الأولية الافتراضية لأعضاء البيانات من الأنواع الأساسية:
1. النوع الرقمي: 0
2. القيمة المنطقية: خطأ
3. أنواع أخرى: لاغية
يمكننا توفير القيمة الأولية لعضو البيانات أثناء الإعلان عنها. وهذا ما يسمى التهيئة الصريحة. يجب كتابة قيمة تهيئة العرض بجد في البرنامج:
انسخ رمز الكود كما يلي:
اختبار الطبقة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
Human aPerson = new Human();
System.out.println(aPerson.getHeight());
}
}
com.classHuman
{/**
*الملحقات
*/
كثافة العمليات الحصول على الارتفاع ()
{
إرجاع هذا الارتفاع؛
}
ارتفاع كثافة العمليات = 175؛
}
هنا، القيمة الأولية لارتفاع عضو البيانات هي 175، وليس القيمة الافتراضية 0.
هناك طرق أخرى لتهيئة الكائنات في Java، والتي سأقدمها لاحقًا.
تلخيص
يعود
هذا، هذا.الحقل، this.method()
القيمة الأولية الافتراضية، التهيئة الصريحة