
لماذا استخدام الفصول النهائية
تصغير مجال الرؤية
عندما ترى فئة ببادئة نهائية ، فإنك تدرك أنه لا يمكن تمديد هذه الفئة بواسطة أي فئة أخرى ، مما لا يجعلها أكثر قابلية للقراءة فحسب ، بل تتيح لك أيضًا التأكد من أن نطاق المنطق يقتصر على تلك الفئة المعينة.
تشجيع نهج التكوين فوق الميراث
يقول المبدأ المفتوح / المغلق: يجب أن يكون الفصل مفتوحًا للتمديد ، ولكنه مغلق للتغيير.
إذا قررت لأي سبب (فهم جيد للسبب نفسه) استخدام الميراث ، فما عليك سوى إزالة الكلمة الرئيسية النهائية وتكون قد انتهيت.
إذا لم تتمكن من تمديد الفصل "افتراضيًا" (لأنه نهائي) ، فأنت تساعد نفسك بالتفكير بشكل أساسي في استخدام التكوين بدلاً من الميراث.
لماذا ليس هذا الفصل نهائي؟
إذا كنا نهدف إلى التكوين وليس الميراث ، فعلينا أن نحاول تجنب الميراث قدر الإمكان واستخدامه فقط عند الضرورة الحقيقية. غالبًا ما يساء استخدام وراثة OOP.
أوهام
عندما درسنا OOP لأول مرة ، قدمنا مثالًا كلاسيكيًا للوراثة. ومع ذلك ، عندما أنشأ آلان كاي Smalltalk ، لم يكن الميراث مفهومه الرئيسي. كان المفهوم الرئيسي هو المراسلة ، أي أنه يمكنك إرسال رسائل إلى الكائنات ، وتقوم بتغليف البيانات والمنطق. يمكنك تغيير سلوكهم باستخدام كائنات مختلفة ، والتي هي في الواقع تكوين. لكن في النهاية ، فإن مفهوم الميراث شائع جدًا لدرجة أنه يطغى في النهاية على التكوين.
فوائد استخدام الفصول النهائية
- . .
- . , .
- . , .
- . , . .
- . .
- . , , .
- . .
- , , .
- , , . , . , , .
[ ]
- .
- .
- استخدم التكوين (عبر DI من خلال مُنشئ الفصل) للحفاظ على الأشياء معًا وتقليل التعقيد.
المجموع الفرعي: الواجهات -> الفصول النهائية -> التركيب