ما هو التركيب في جافا مع الأمثلة

نشرت: 2021-04-09

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

هذه العلاقات هي IS-A (الوراثة) و HAS-A (جمعية). في حين أن هناك اقترانًا وثيقًا بين فئات IS-A ، فإن فئات HAS-A مقترنة بشكل فضفاض وأكثر تفضيلًا للمبرمجين.

تنقسم علاقة HAS-A إلى نوعين ، أي التجميع والتكوين في Java . تستند هذه المقالة إلى مفهوم OOP للتكوين. سنرى العديد من الأمثلة الواقعية لكيفية ترميز التكوين والمزايا المكتسبة عند تنفيذه.

جدول المحتويات

سرد موجز للجمعيات أو العلاقات في جافا

في البرمجة الشيئية ، ترتبط الكائنات ببعضها البعض وتستخدم الوظيفة المشتركة بينها. هذا هو المكان الذي تأتي فيه موضوعات الوراثة والجمعيات والتجميع والتكوين في برامج Java .

الوراثة (IS-A) والارتباط (HAS-A) في جافا

1. الميراث (IS-A)

تشير علاقة IS-A إلى أن كائنًا ما هو نوع من كائن آخر. يتم تنفيذه باستخدام الكلمات الرئيسية "تمتد" و "تنفذ".

مثال: كمبيوتر محمول HP IS-A

2. الرابطة (HAS-A)

تشير علاقة HAS-A إلى أن الفصل له علاقة بفئة أخرى. على سبيل المثال ، تحتوي الفئة أ على مرجع الفئة ب ويمكنها الوصول إلى جميع خصائص الفئة ب.

مثال: جسم الإنسان لديه قلب

مصدر

مصدر

3. التجميع مقابل التكوين

يمكن تقسيم علاقة Has-A أو الرابطة إلى تجميع وتكوين. يمكن أن يكون لفئة حاوية التجميع والفئة المشار إليها وجود مستقل. لا يمكن أن توجد فئة مرجعية للتكوين إذا تم إتلاف فئة الحاوية.

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

مصدر

التكوين في جافا

يوجد تكوين في Java بين كائنين مرتبطين ببعضهما البعض عندما تكون هناك علاقة قوية بين فئة وأخرى. لا يمكن أن توجد الفصول الأخرى بدون المالك أو الفصل الرئيسي. على سبيل المثال ، فئة "الإنسان" عبارة عن تكوين للقلب والرئتين . عندما يموت الجسم البشري ، لا توجد أجزاء من الجسم.

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

تنفيذ التركيب في جافا

يتم تنفيذ علاقة المحرك والسيارة باستخدام فئات Java على النحو التالي. في Java ، يتم استخدام الكلمة الأساسية "النهائية" للتعبير عن التركيب. هذا لأن كائن "المالك" يتوقع أن يكون كائن الجزء متاحًا ويعمل بجعله "نهائيًا" .

سيارة فئة عامة {

محرك نهائي خاص للمحرك ؛

سيارة عامة () {

المحرك = محرك جديد () ؛

}

}

فئة المحرك {

نوع السلسلة الخاصة ؛

}

لنأخذ مثالاً آخر يصور الميراث والتكوين.

مصدر

في هذا البرنامج ، تعتبر فئة هوندا سيارة وتمتد من فئة السيارات. يتم استخدام كائن محرك السيارة في فئة هوندا.

فئة CarEngine {

StartEngine العامة الفارغة () {

System.out.println (" محرك السيارة قد بدأ .") ؛

}

إيقاف محرك الفراغ العام () {

System.out.println (" محرك السيارة توقف .") ؛

}

}

فئة السيارة {

لون السلسلة الخاص ؛

maxi_Speed ​​كثافة العمليات الخاصة ؛

تفاصيل السيارة العامة الفارغة () {

System.out.println ("لون السيارة =" + اللون + "؛ السرعة القصوى =" + maxi_Speed) ؛

}

// ضبط لون السيارة

مجموعة الألوان العامة الفارغة (لون السلسلة) {

this.colour = color؛

}

// ضبط السرعة القصوى للسيارة

setMaxiSpeed ​​العامة باطلة (int maxi_Speed) {

this.maxi_Speed ​​= maxi_Speed ​​؛

}

}

فئة هوندا تمد السيارة {

HondaStart () باطل عام {

CarEngine Honda_Engine = محرك السيارة الجديد () ، //تعبير

Honda_Engine.startEngine () ،

}

}

فئة عامة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

Honda HondaJazz = Honda جديد ()؛

HondaJazz.setColour ("أسود") ؛

HondaJazz.setMaxSpeed ​​(160) ؛

HondaJazz.carDetails () ،

HondaJazz.HondaStart () ؛

}

}

انتاج:

لون السيارة = أسود ؛ السرعة القصوى = 160

بدأ محرك السيارة.

الناتج مشتق باستخدام التكوين ويظهر تفاصيل سيارة Honda Jazz.

دلالات الرابطة في UML

يتم تمثيل علاقات الارتباط والتجميع والتكوين في Java بين الفئتين A و B على النحو التالي في مخططات UML:

الرابطة: أ —-> ب

التركيب: أ—– <محشو> ب

التجميع: أ —– <> ب

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

فوائد التركيب في جافا

يوفر استخدام تقنية تصميم التركيب في Java الفوائد التالية:

  1. من الممكن دائمًا "تفضيل تكوين الكائن على وراثة الفئة". تحقق الفصول تعدد الأشكال وإعادة استخدام الكود عن طريق التكوين.
  2. التكوين مرن ، حيث يمكنك تغيير تطبيق الفصل في وقت التشغيل عن طريق تغيير الكائن المضمن ، وتغيير سلوكه.
  3. يحتوي التصميم المعتمد على التكوين على عدد أقل من الفئات.
  4. تعتبر علاقة "HAS-A" بين الفئات صحيحة لغويًا من علاقة "IS-A".
  5. يوفر التركيب في Java قابلية اختبار أفضل للفئة والتي تكون مفيدة بشكل خاص في التطوير القائم على الاختبار.
  6. من الممكن تحقيق "توارث متعددة" في اللغات عن طريق تكوين كائنات متعددة في عنصر واحد.
  7. في التركيب ، لا يوجد تعارض بين الأساليب أو أسماء الخصائص.

خاتمة

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

تعلم التركيب في Java مع ماجستير العلوم في upGrad في دورة علوم الكمبيوتر والتي تهدف إلى جعلك تتعلم وترقية مهاراتك في تطوير البرمجيات.

جدارة - أهلية

درجة AB achelor بنسبة 50٪ أو ما يعادلها. ليست هناك حاجة إلى خبرة أولية في الترميز.

التسعير

تبدأ رسوم البرنامج من 13 روبية و 095 شهريًا للمقيمين الهنود و 5999 دولارًا أمريكيًا للمقيمين الدوليين.

انطلق في وظيفة أحلامك

تقدم بطلب للحصول على ماجستير العلوم في التعلم الآلي والذكاء الاصطناعي