هو ايه الفرق بين ال interface وال abstract وامته استخدمهم
Anonymous · Around January 2018
فيه الفرق اللي الناس كلها عارفاه، اللي هو ال interface ما فيهوش implementation لكن ال abstract class ممكن يبقى فيها implementation، و ان اي class ممكن تعمل implement لأكتر من interface لكن ال class ما تقدرش تعمل inherit لأكتر من base class واحدة بس، و ده مش كل اللغات بس في أغلبها.
لكن الفرق الحقيقي هو في الهدف.
ال interface أشبه بالحد الأدنى من الخصائص لتعريف شئ ما، مثلاً من وجهة نظر الحكومة العربية هي وسيلة مواصلات ليها موتور و اربع عجلات و زجاج امامي و خلفي و فرامل و بتشتغل بوقود ما و بتطلع عادم. ده ال interface العام لايه عربية من وجهة نظر الحكومة اللي على اساسه حتبني طرق و كباري و جراجات و هكذا.
لكن من وجهة نظر شركة العربيات اللي بتصنعها، حتصمم شاسيه معين لنوع من العربيات اللي بيتفق مع المفهوم اللي حددته الحكومة. لكن الشاسيه ده ممكن يعملوا عليه عربية حمرا و خضرا و عربيات بالبنزين وعربيات بسولار أو كهربا و 4 كراسي او كرسيين بس أو أو أو، اه، الشاسيه الاصلي ده abstract class فيها شوية حاجة مشتركة بين عربيات الشركة دي تحديداً، لكن في النهاية كلها تحت نفس المعيار اللي حطه ال interface