يتكون البرنامج الموجهة للكائن من كائنات ، كل كائن يحتوي على أجزاء وظيفية محددة معرضة للمستخدم وأجزاء التنفيذ المخفية. في البرمجة الموجهة للكائنات (OOP) ، ليست هناك حاجة لرعاية التنفيذ المحدد للكائن. في البرمجة المهيكلة التقليدية ، تكون الخوارزميات ذات المرتبة الأولى وهي هياكل البيانات في المرتبة الثانية ، أي أولاً تحديد كيفية التشغيل ، ثم التفكير في كيفية تنظيم البيانات لتسهيل التشغيل. يعكس OOP هذا الترتيب ، ويضع البيانات أولاً ، ثم يعتبر الخوارزمية التي تدير البيانات.
I. الفصل
الفصول هي قوالب ومخططات لبناء كائنات. بعبارات Layman ، فإن الشيء نفسه يعادل رسومات المبنى ، في حين أن الكائن يعادل المبنى. تسمى عملية بناء كائن من فئة إنشاء مثيل لكائن.
في Java ، يتم تعريف "الفصل" بواسطة فئة الكلمات الرئيسية ، تليها اسم الفصل. على سبيل المثال:
شخص الفئة {// class body content}يتم تعريف فئة الشخص.
1. الحقول والأساليب
عند تحديد الفصل ، يمكن تعيين نوعين من العناصر في الفصل: أعضاء البيانات ووظائف الأعضاء. عندما يكون عضو البيانات كائنًا ، يمكن أن يكون من أي نوع. إذا كان مقبضًا يشير إلى كائن ، فيجب تهيئة هذا المقبض وتوصيله بكائن فعلي من خلال المنشئ. إذا كان نوع بيانات أساسي ، فيمكن تهيئته مباشرة في موقع تعريف الفئة.
يحتفظ كل كائن مساحة التخزين لأعضاء البيانات الخاصة به ؛ لا يتم مشاركة أعضاء البيانات بين الكائنات.
فئة شخص {اسم السلسلة ؛ راتب مزدوج ؛} إنشاء كائن مع الكلمة الرئيسية new . يحب:
الشخص p = شخص جديد () ؛
(1) القيمة الافتراضية للعضو الرئيسي
إذا كان نوع البيانات الرئيسية معينة ينتمي إلى عضو في الفصل ، فليس من الواضح أن التهيئة يمكن أن تضمن أيضًا الحصول على قيمة افتراضية.
| النوع الرئيسي | القيمة الافتراضية |
| منطقية | خطأ شنيع |
| شار | "/u0000" (خالية) |
| بايت | (بايت) 0 |
| قصير | (قصير) 0 |
| int | 0 |
| طويل | 0L |
| يطفو | 0.0F |
| مزدوج | 0.0D |
إذا كان المتغير هو متغير عضو للفئة ، فسيتم تهيئته بالتأكيد للنوع الرئيسي ، ويجب إيلاء اهتمام خاص للقيمة المهيئة. بالنسبة للمتغيرات المحلية ، سيتم الحصول على بعض القيم العشوائية ، مثل: int x; لن يتم تهيئة تلقائيا إلى 0.
(2) الطريقة
تتضمن المكونات الأساسية للطريقة الاسم والمتغير المستقل ونوع الإرجاع والجسم . الشكل الأساسي للطريقة هو:
返回类型方法名(/*自变量列表*/) {/* 方法体*/}يشير نوع الإرجاع إلى النوع الرقمي الذي تم إرجاعه بعد استدعاء الطريقة. اسم الطريقة هو تحديد ومرجع طريقة محددة. تسرد قائمة الوسيطة أنواع وأسماء المعلومات التي تريد نقلها إلى الطريقة.
في Java ، تسمى الطريقة对象名.方法名
1. استخدم المقابض لتشغيل الكائنات
على الرغم من أن Java موجهة تمامًا للكائنات . ومع ذلك ، فإن معرف العملية يشير فعليًا إلى " مقبض " الكائن ، والمعروف أيضًا باسم " المرجع ". يمكن أن يوجد مقبض بشكل مستقل ، لا يعني أنه إذا كان لديك مقبض ، فيجب أن يكون لديك كائن يتوافق معه. على سبيل المثال ، int i; يحدد متغير عدد صحيح I ، وهو ما لا يعني أنه يجب أن يكون له قيمة. على سبيل المثال ، قم بإنشاء مقبض سلسلة:
سلسلة S ؛
هنا ، يتم إنشاء مقبض فقط ، ولا يتم إنشاء أي كائن. نظرًا لأن S ليس لديه كائن مرتبط به ، فسيظهر استثناء إذا تم استدعاء S. لذلك ، مطلوب التهيئة عند الإنشاء.
String s = "Hello" ؛
في Java ، يتم إنشاء كائن باستخدام الكلمة الرئيسية الجديدة ، والتي تُرجع مرجعًا إلى الكائن (أي مقبض). لذا
سلسلة s = سلسلة جديدة ("Hello") ؛تم إنشاء كائن سلسلة مع محتوى "Hello" ، وتم تسليم مقبض (مرجع) للكائن إلى S للحفظ.
2. موقع تخزين البيانات
1. سجل. أسرع منطقة توفير ، تقع داخل المعالج. حجم السجل محدود ، ويتم تخصيص الحجم من قبل المترجم.
2. كومة. يتواجد في منطقة RAM العادية (ذاكرة الوصول العشوائي) ، يمكن تغيير الحجم من خلال "مؤشر المكدس". إن نقل مؤشر المكدس لأسفل سيؤدي إلى إنشاء مساحة ذاكرة جديدة ؛ الانتقال لأعلى سوف تحرير مساحة الذاكرة. عند إنشاء برنامج ، يجب أن يعرف برنامج التحويل البرمجي Java بالضبط "الطول" و "وقت الوجود" لجميع البيانات المخزنة في المكدس ، ويولد المترجم الرمز المقابل لتحريك المؤشر. يتم تخزين مقبض كائن Java فيه ، ولكن لا يتم تخزين كائن Java في المكدس.
3. كومة. تجمع الذاكرة لغرض منتظم ، حيث يتم حفظ كائنات Java. لا يعرف المترجم أو يحتاج إلى معرفة مقدار مساحة التخزين التي يتم تخصيصها من "كومة الذاكرة" أو "كومة" وإلى متى ستستمر البيانات.
4. التخزين الثابت. يشير ثابت إلى وضع ثابت (في ذاكرة الوصول العشوائي). أثناء تشغيل البرنامج ، ستكون البيانات المخزنة بشكل ثابت متاحة للاتصال في أي وقت. يشير إلى أن عنصرًا محددًا من الكائن ثابت بواسطة الكلمة الرئيسية الثابتة. لا يمكن وضع جافا نفسها في مساحة تخزين ثابتة.
5. التخزين المستمر. عادة ما يتم وضع القيم الثابتة داخل رمز البرنامج ولا تتغير أبدًا.
6. تخزين غير رام. إذا كانت البيانات مستقلة تمامًا عن البرنامج ، فسيظل موجودًا عندما لا يكون البرنامج قيد التشغيل ويكون ضمن نطاق التحكم في البرنامج. على سبيل المثال ، تدفق الكائنات والكائنات الثابتة.
2. كائن
ثلاث خصائص رئيسية لكائن:
• سلوك الكائن - ما هي العمليات التي يمكن تطبيقها على الكائن ، أو ما هي الطرق التي يمكن تطبيقها على الكائن؟
• حالة الكائن - كيف يستجيب الكائن عند إضافة هذه الطرق؟
• تحديد الكائن - كيفية تحديد كائنات مختلفة بنفس السلوك والحالة؟
يتم تعريف سلوك كائن ما بواسطة طريقة قابلة للاستدعاء. يحمل كل كائن معلومات تصف الميزة الحالية ، وهي حالة الكائن. حالة الكائن لا تتغير تلقائيا. لا يمكن تنفيذ فئة مصممة جيدًا إلا عن طريق الاتصال. إذا تم تغيير حالة الكائن دون مكالمات الطريقة ، فهذا يعني أن التغليف قد تم تدميره.
التغليف: طريقة التنفيذ التي تجمع بين البيانات والسلوك في حزمة وتخفي البيانات من مستهلكي الكائن. مفتاح التغليف هو أن الأساليب في الفصل يجب ألا تصل مباشرة إلى مجال المثيل للفئات الأخرى. تتفاعل البرامج فقط من خلال بيانات كائن مجال طريقة الكائن.
تسمى البيانات الموجودة في كائن حقل مثيل أو سمة. تسمى عملية معالجة البيانات طريقة. لكل كائن محدد ، هناك مجموعة محددة من قيم مجال المثيل (قيم السمة) ، ومجموعة هذه القيم هي الحالة الحالية للكائن.
العلاقة بين الفصول
العلاقات الشائعة بين الفصول:
• التبعية ("Use-A"): طريقة لفئة واحدة تتعامل مع كائنات فئة أخرى.
• التجميع ("HAS-A"): يحتوي كائن من فئة على كائن من فئة أخرى.
• الميراث ("IS-A"): يستخدم لتمثيل العلاقة بين خاص وعامة. إذا كان الفئة A يمتد من الفئة B (A وراثة ب) ، فإن الفئة A لا تحتوي فقط على طرق من الفئة B ، ولكن أيضًا طرق التمديد.
لا يحتوي الكائن في الواقع على كائن ، ولكنه يشير فقط إلى كائن.
في Java ، تكون قيمة أي متغير كائن مرجعًا إلى كائن مخزّن في مكان آخر. قيمة الإرجاع للمشغل الجديد هي أيضًا مرجع.
إن المقالة أعلاه تتفهم بشكل شامل فئات Java والكائنات هي كل المحتوى الذي شاركته معك. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.