Java Interface (Interface) هي سلسلة من إعلانات الطرق وهي عبارة عن مجموعة من ميزات الطريقة. الواجهة فقط لها خصائص الأساليب ولكن لا يوجد تنفيذ طريقة. لذلك ، يمكن تنفيذ هذه الطرق بواسطة فئات مختلفة في أماكن مختلفة ، ويمكن أن يكون لهذه التطبيقات سلوكيات مختلفة (وظائف).
1. واجهة معنى:
1. واجهة Java ، الهياكل الموجودة في لغة Java لها بناء جملة وبنية محددة ؛
2. مجموعة من ميزات الأساليب التي لدى الفصل هي تجريد منطقي.
السابق يسمى "واجهة Java" ويسمى الأخير "الواجهة".
لا تحتوي واجهة Java نفسها على أي تطبيق ، لأن واجهة Java لا تتضمن مظاهر ، ولكنها تصف فقط السلوك العام ، وبالتالي فإن واجهة Java أكثر تجريدًا من فئة Java Abstract.
يمكن أن تكون طرق واجهة Java مجرد مجردة وعامة. لا يمكن أن تحتوي واجهة Java على مُنشئ. يمكن أن تحتوي واجهة Java على خصائص عامة وثابتة ونهائية.
2. لماذا استخدام واجهة جافا هي لغة ميراث واحدة؟ إذا كنت ترغب في إضافة وظائف جديدة إلى فئات محددة مع فئات الوالدين الموجودة ، بموجب مبدأ OCP ، فإن الحل هو إضافة فئات الأصل إلى فئة الأصل ، أو إضافة فئات الوالدين إلى فئة الأم حتى تنتقل إلى أعلى بنية التسلسل الهرمي. وبهذه الطريقة ، يصبح تصميم إدراج فئة معينة تعديلًا لجميع الفئات في التسلسل الهرمي بأكمله.
عندما تكون هناك واجهة ، في المثال أعلاه ، ليست هناك حاجة للحفاظ على جميع الفئات في بنية التسلسل الهرمي بأكمله.
3. الواجهة لها إدراج:
يمكن لأي فئة في التسلسل الهرمي تنفيذ واجهة ، والتي ستؤثر على جميع الفئات الفرعية في هذه الفئة ، ولكنها لن تؤثر على أي فئات فائقة في هذه الفئة. سيتعين على هذه الفئة تنفيذ الأساليب المحددة في هذه الواجهة ، ويمكن أن ترث فئاتها تلقائيًا هذه الطرق من هذه الفئة ، وبالطبع يمكنهم أيضًا اختيار استبدال كل هذه الطرق ، أو بعضها. في هذا الوقت ، تكون هذه الفئات الفرعية قابلة للتجميع (ويمكن تحميلها بنوع الواجهة هذا ، وتمرير وتنفيذ جميع فئاتها الفرعية).
توفر الواجهة مكالمات الاستيفاء والطريقة. كلما زاد حجم نظام البرمجيات ، كلما طالت دورة الحياة. تضمن الواجهة مرونة نظام البرمجيات وقابليتها للتوسع والاستيفاء.
ويرجع ذلك بالتحديد إلى الواجهة أن الميراث الفردي Java لديه إمكانية امتداد جديد (استبدال الميراث المتعدد) ؛ 3. اكتب واجهة Java التسلسل الهرمي (والفئات المجردة) تستخدم عمومًا كنقطة انطلاق لنوع التسلسل الهرمي.
إذا كان لدى الفئة بالفعل مجموعة كبيرة من الفئة ، فحينئذٍ من خلال تنفيذ واجهة ، يمكن أن يكون للفئة من نوع SuperType ثانوي آخر ، والذي يسمى نوعًا هجينًا.
4. تصنيف واجهة Java
1.
2. واجهة التعرف (لا طريقة وتحديد السمة) واجهة التعرف هي واجهة بدون أي طرق وسمات. لا تحتوي واجهة التعريف على أي متطلبات دلالية للفئة التي تنفذها. إنه يشير فقط إلى أن الفئة التي تنفذها تنتمي إلى نوع معين.
الواجهة العامة قابلة للتسلسل {} ؛ 3. تشير الواجهة الثابتة إلى استخدام واجهة Java لإعلان بعض الثوابت ، ثم تستخدم الفئات التي تنفذ هذه الواجهة هذه الثوابت.
الواجهة العامة appconstants {public static final data_source_name = "test" ؛ public static final user_name = "test" ؛ public static final password = "test" ؛
5. خصائص الواجهة
1.
2. الأساليب في واجهة Java هي من النوع العام والتجريدي افتراضيًا (يمكن حذف جميعها). بدون جثث الطريقة ، لا يمكن إنشاء مثيل لها.
3. يمكن أن تحتوي واجهة Java فقط على متغيرات الأعضاء من الأنواع العامة والستاتيين والنهائية وأساليب الأعضاء للأنواع العامة والتجريدية.
4. لا يوجد مُنشئ في الواجهة ولا يمكن إنشاء مثيل له.
5. لا يمكن لواجهة واحدة تنفيذ واجهة أخرى ، ولكن يمكن أن ترث واجهات أخرى متعددة.
6. يجب أن تنفذ واجهة Java أساليبها التجريدية من خلال الفصول.
7. عندما يقوم الفصل بتنفيذ واجهة Java معينة ، يجب أن تنفذ جميع الأساليب المجردة في الواجهة ، وإلا يجب الإعلان عن هذه الفئة كفئة مجردة
8. لا يُسمح بإنشاء مثيل للواجهة (مثيل) ولكن يُسمح بتحديد متغير مرجعي لنوع الواجهة. يشير هذا المتغير المرجعي إلى مثيل للفئة التي تنفذ هذه الواجهة.
9. يمكن للفئة أن ترث فئة الوالدين مباشرة واحدة فقط ، ولكن يمكنها تنفيذ واجهات متعددة ، وتنفيذ ميراث متعددة بشكل غير مباشر.
6. الفرق بين واجهة Java و Java Abstract Classes هو تركيز التصميم الموجهة للكائنات هو التجريد. توجد كل من الفصول والواجهات المجردة على الطبقة العليا من شجرة الميراث.
أوجه التشابه:
1. يمثل طبقة التجريد للنظام. عندما يستخدم النظام فئة على شجرة الميراث ، يجب أن يحاول إعلان المتغير المرجعي كنوع تجريدي علوي لشجرة الميراث. هذا يمكن أن يحسن الاقتران بين النظامين. 2. لا يمكن إنشاء مثيله. 3. كلاهما يحتوي على طرق مجردة. تُستخدم هذه الأساليب المجردة لوصف الخدمات التي يمكن أن يقدمها النظام ، ولكن لا تحتوي على الاختلافات في هيئة الطريقة:
1. الفرق الأكبر هو أن فئة Java Abstract يمكن أن توفر تطبيقات جزئية لطرق معينة ، في حين أن واجهة Java لا يمكن ؛ ربما تكون هذه هي الميزة الوحيدة لفئة Java Abstract ، ولكن هذه الميزة مفيدة للغاية.
يمكنك إضافة طريقة ملموسة جديدة إلى الفئة التجريدية ، وستحصل جميع الفئات الفرعية تلقائيًا على هذه الطريقة ؛ لكن أضف طريقة جديدة إلى واجهة Java ، ولا يمكن تجميع جميع الفئات التي تنفذ هذه الواجهة بنجاح ، ويجب عليك إضافة تطبيق هذه الطريقة يدويًا إلى كل فئة تنفذ الواجهة ؛
2. لا يمكن إعطاء تنفيذ فئة مجردة إلا من قبل الفئة الفرعية ، أي أن التنفيذ لا يمكن أن يكون إلا في الهيكل الهرمي الموروثة المحددة من قبل الفئة التجريدية ؛ لذلك ، يتم تقليل فعالية فئة مجردة كأداة تعريف نوع إلى حد كبير.
واجهة جافا. يمكن أن يكون لأي فئة تنفذ الطرق المحددة بواسطة واجهة Java نوع هذه الواجهة ، ويمكن للفئة تنفيذ أي واجهات Java متعددة ، بحيث يكون لهذه الفئة أنواعًا متعددة.
كما يتضح أعلاه ، تعد واجهة Java أداة مثالية لتحديد الأنواع المختلطة. تشير الفصول المختلطة إلى أن الفصل ليس فقط سلوك نوع أولي معين ، ولكن أيضًا سلوكيات ثانوية أخرى.
3. الجمع بين المزايا المعنية للفصول التجريدية وواجهات Java في النقطتين 1 و 2 ، سيظهر نمط تصميم كلاسيكي:
لا يزال يتم تنفيذ عمل إعلان نوع ما بواسطة واجهة Java ، ولكن في الوقت نفسه يتم تقديم فئة Java Abstract ويتم تنفيذ هذه الواجهة. يمكن للفصول الخرسانية الأخرى التي تنتمي أيضًا إلى هذا النوع التجريدي اختيار تنفيذ واجهة Java هذه أو ترث هذه الفئة المجردة. وهذا يعني ، في التسلسل الهرمي ، واجهة Java في الأعلى ثم تليها الفئة المجردة. أكبر مزايا هذين يمكن تعظيمها. هذا الوضع هو "وضع التكيف الافتراضي".
يتم استخدام هذا النمط في واجهة برمجة تطبيقات لغة Java ، وكل ذلك يتبع بعض مواصفات التسمية: اسم الواجهة التجريدي +.
7. المبدأ العام لاستخدام الواجهات والفصول التجريدية:
1. استخدم الواجهة كنافذة للتفاعل بين النظام والعالم الخارجي. بالوقوف من منظور المستخدم الخارجي (نظام آخر) ، تعد الواجهة المستخدم بالخدمات التي يمكن أن يقدمها النظام ، ومن منظور النظام نفسه ، والذي يجب على الواجهة تنفيذه. الواجهة هي أعلى مستوى مجردة في النظام. من خلال تفاعل الواجهة ، يمكن تحسين نظام الاقتران A بين النظامين للتفاعل من خلال النظام B. هذا يعني أنه عندما يقوم النظام A بالوصول إلى النظام B ، يعلن المتغير المرجعي أن متغير المرجع كنوع الواجهة في النظام B. يشير هذا المتغير المرجعي إلى مثيل فئة التنفيذ للواجهة في النظام B.
الواجهة العامة ب {}
الفئة العامة C تنفذ B {}
الفئة العامة A {b a = new c () ؛ }
2. يجب أن تكون واجهة Java نفسها مستقرة للغاية. بمجرد صياغة واجهة Java ، لا يُسمح لها بالذهاب كما يحدث ، وإلا فإنها سيكون لها تأثير على المستخدمين الخارجيين والنظام نفسه. 3. استخدم الفئات المجردة لتخصيص نقاط التمديد في النظام ، والفئات المجردة لإكمال التنفيذ الجزئي. يجب تنفيذ بعض الوظائف من خلال فئاتها الفرعية.
إن المقالة أعلاه تفصل المفاهيم والتصنيفات والاختلافات من الفئات المجردة من واجهات Java هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.