ما هي فئة المحول في جافا؟ مزايا فئة المحول وأنواعه

نشرت: 2021-05-19

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

ما هي فئة المحولات؟

في JAVA ، تسمح فئة المحول بالتنفيذ الافتراضي لواجهات المستمع. تنبع فكرة واجهات المستمع من نموذج حدث التفويض. إنها إحدى التقنيات العديدة المستخدمة للتعامل مع الأحداث في لغات برمجة واجهة المستخدم الرسومية (GUI) ، مثل JAVA.

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

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

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

ما هي العلاقة بين فئة المحول وواجهة المستمع؟

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

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

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

فهم نمط تصميم المحول

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

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

على سبيل المثال ، في المملكة المتحدة ، يتم استخدام مآخذ التوصيل من النوع G ، في الولايات المتحدة واليابان ، مآخذ من النوع A والنوع B ، وفي الهند ، اكتب C ، والنوع D ، والنوع M. لذلك تكون غير متوافقة مع المواصفات الكهربائية مثل الولايات المتحدة واليابان. هذا هو المكان الذي يصبح فيه غرض المحول ضروريًا لتحويل رمز غير متوافق إلى رمز متوافق.

أنواع فئات المحولات

يمكن العثور على فئات المحول في جافا. awt.the event وحزم java.awt.dnd و java.swing.event. تم ذكر فئات المحولات القياسية مع واجهات المستمع المقابلة لها في JAVA أدناه لكل من هذه الحزم.

1. جافا. awt. حواء

فئة المحول واجهة المستمع
WindowAdapter مستمع النافذة
KeyAdapter KeyListener
MouseAdapter MouseListener
MouseMotionAdapter MouseMotionListener
FocusAdapter التركيز
مكون عنصر المستمع
ContainerAdapter مستمع الحاويات
HierarchyBoundsAdapter التسلسل الهرمي حدود المستمع

2. java.awt.dnd

فئة المحول واجهة المستمع
DragSourceAdapter DragSourceListener
DragTargetAdapter DragTargetListener

3. حدث javax.swing.

فئة المحول واجهة المستمع
MouseInputAdapter MouseInputListener
InternalFrameAdapter برنامج InternFrameListener

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

  1. تحدد واجهة WindowListener الطرق المتعلقة بأحداث النافذة ، بما في ذلك فتح وإغلاق النافذة ، وتنشيط وتعطيل النافذة ، ورمز النافذة وإزالة السموم منها.
  2. تحدد واجهة KeyListener الطرق التي تتعامل مع الأحداث الرئيسية التي يطلقها المستخدم الذي يتفاعل مع مكونات لوحة المفاتيح.
  3. يتم إخطار واجهة MouseListener عندما يكون الماوس مستقرًا ويتلقى احتمال الحدث المتعلق بالخروج أو الدخول أو النقر أو الضغط أو تحرير المكون في الإطار المرئي للمستخدم.
  4. تستقبل واجهة مُصغي المكونات إمكانات حدث المكون. هنا ، يشير المكون إلى أي كائن رسومي مصمم للتفاعل مع المستخدم ، مثل الأزرار ومربعات الاختيار وأشرطة التمرير.

الفرق بين محول الفئة ومحول الكائن

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

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

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

مزايا فئة المحول

  1. تساعد فئة المحول الفئات غير ذات الصلة في العمل معًا.
  2. باستخدام فئة المحول ، يمكن استخدام نفس الفئة بطرق متعددة.
  3. يتم تزويد المستخدمين بخيار مجموعة قابلة للتوصيل لتطوير التطبيقات. وبالتالي ، يصبح استخدام الطبقة قابلاً لإعادة الاستخدام بدرجة كبيرة.
  4. يعزز شفافية الفئات.
  5. يوفر طريقة لتضمين الأنماط ذات الصلة في الفصل.

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

خاتمة

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

إذا كنت ترغب في تحسين مهارات جافا الخاصة بك ، فأنت بحاجة إلى الحصول على يديك في مشاريع جافا هذه. إذا كنت مهتمًا بمعرفة المزيد حول Java ، التطوير الكامل ، تحقق من برنامج upGrad & IIIT-B's Executive PG في تطوير برامج مكدس كامل ، وهو مصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9+ المشاريع ، والتعيينات ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

ما هي فئة المحول في جافا؟

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

ما هي أنماط التصميم في جافا؟

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

ما هو نمط التصميم الأكثر استخدامًا في Java؟

ستجد العديد من أنماط التصميم في جافا. نمط التصميم الأكثر استخدامًا هو نمط المصنع. لها العديد من التطبيقات في تطوير المشاريع. يساعد في إزالة الاعتماد على الطبقات الخرسانية في التطبيق. دعنا نقدم لك مثالاً من الحياة الواقعية. في تطبيق التجارة الإلكترونية ، قد يكون لديك متطلب لإنشاء كائن للمستخدم في كل من بيئة الاختبار والإنتاج. قد تحتوي فئة المستخدم على العديد من الفئات الفرعية مثل المسؤول ، وصاحب المتجر ، والبائع ، والمستخدم وما إلى ذلك. الطريقة الرئيسية الشائعة في نمط المصنع تبدو كما يلي: فئة عامة UserFactory {public static Object create () {User user = createAdmin ()؛ // معرفة ما إذا كان المشرف مسموحًا له بالعودة للمستخدم ؛ // إرجاع المستخدم الحالي}}. انظر هنا كيف أن فئة المستخدم لا تعتمد على فئة ملموسة. على الرغم من أنه ليس مثالاً كاملاً ، إلا أنه يوضح لك كيفية عمل نمط المصنع.