‫في هذا الفيديو وفي مقاطع الفيديو التالية ، ستتعرف على الواجهات وهي
‫مهمة جدًا لأنها توسع بالفعل وظائف البرمجة الموجهة للكائنات والفئات.
‫إذن ما هي الواجهة؟
‫حسنًا ، فكر في الواجهات على أنها عقود ، حيث توافق فئة تنفذ واجهة على توفير تطبيقات لجميع
‫الكائنات المحددة بواسطة تلك الواجهة.
‫هذا يعني أن الواجهة ستحتوي على شروط العقد وطرقه وخصائصه ، ولكن كيفية تنفيذها
‫يعود إلى الفئة التي تنفذ الواجهة.
‫طالما تم تنفيذ طرق الواجهة هذه في صفنا ، ستظل الواجهة سعيدة.
‫لذلك لا يمكن أن تحتوي الواجهات على أي تطبيقات.
‫هذا مهم.
‫لذلك فإن أسمائهم عادة ما تكون مسبوقة بـ IE لتمييزها عن الأشياء الحادة الأخرى.
‫نقوم بإنشاء واجهات باستخدام الكلمة الرئيسية للواجهة.
‫لنلقِ نظرة الآن على كيفية القيام بذلك عمليًا.
‫حسنا.
‫لذلك عدنا إلى Visual Studio.
‫لذا فإن إحدى الوظائف الأكثر استخدامًا في فئات RC Sharp هي المقارنة بمثيلات الفصل.
‫يتم ذلك باستخدام طريقة يساوي.
‫سيقارن هذا لمعرفة ما إذا كانت الإشارة إلى كلا الفئتين هي نفسها.
‫ومع ذلك ، نريد مقارنتها ومعرفة ما إذا كانت متساوية بناءً على بعض المجالات الأخرى.
‫لذلك يمكننا تحقيق ذلك من خلال تنفيذ واجهة تسمى I Equitable.
‫لذلك في حالتنا ، لدينا فئة تسمى Ticket وهي تحدد خاصية واحدة تسمى المدة بالساعات.
‫لذلك دعونا نمضي قدمًا وننشئ هذا الفصل بسرعة حقيقية.
‫لدي هنا فئة جديدة ، وفي الواقع يمكنني الذهاب إلى هنا أو استخدام مفتاح الاختصار K و C وسأطلق على
‫هذه التذكرة الواحدة.
‫إذن هذه التذكرة ، كما قلت ، لها خاصية واحدة ومنشئ.
‫لذلك دعونا نضعهم هنا.
‫لذا فإن هذا العقار موجود لتخزين مدة التذكرة ومدة التذكرة الخاصة بنا.
‫ومن ثم لدينا المنشئ هنا.
‫والآن دعنا نمضي قدمًا ونطبق واجهة الذكاء الاصطناعي المنصفة.
‫لذلك نستخدم شيئًا مشابهًا لما فعلناه عند استخدام الوراثة ، نستخدم النقطتين ثم الواجهة التي
‫نريد استخدامها.
‫وترى أن هناك مجموعة منهم.
‫والشيء الذي أريد استخدامه سيكون أعلى قيمة.
‫أنت الآن بحاجة إلى تحديد نوع الكائنات التي تريد مقارنتها.
‫لذلك أريد هنا مقارنة التذاكر مع بعضها البعض.
‫هذا هو السبب في أنني بحاجة إلى إضافة الكلمة الأساسية للتذكرة.
‫ستلاحظ الآن أن Visual Studio ليس سعيدًا جدًا لأنه يشير إلى تحديد طريقة معممة يقوم نوع القيمة
‫أو الفئة بتنفيذها لإنشاء طريقة معينة.
‫ولكن المشكلة التي نصل إليها هنا هي أن التذكرة لا تطبق واجهة الأعضاء أنا تذكرة متساوية تساوي
‫التذكرة.
‫يمكننا إصلاح ذلك بسهولة من خلال المضي قدمًا وتنفيذ ذلك.
‫لذلك كان بإمكاننا استخدام جميع الأعضاء جيدًا لتنفيذها بشكل صريح أو يمكننا القيام بذلك يدويًا.
‫دعونا نفعل ذلك بسرعة حقيقية.
‫لذلك أريد بشكل أساسي أن أعيد قيمة منطقية ستتحقق مما إذا كانت أي تذكرة سأمررها ، والتي ستكون
‫التذكرة الأخرى ، ستكون مماثلة للتذكرة.
‫هذا هو الذي يسمي هذه الطريقة.
‫إذن التذكرة.
‫الذي أنشأناه من هذا ، نقارنه بتذكرة أخرى ، ثم نريد مقارنة المدة بالساعات.
‫لذلك إذا كانت لهما نفس المدة ، فسنفترض أنهما نفس التذكرة.
‫لذلك يمكننا هنا المضي قدمًا وإعادة مقارنة هذه المدة بالساعات مقارنة بالمدة الأخرى
‫بالساعات.
‫لذلك نقول بشكل أساسي أن هذه التذكرة لها مدة بالساعات والتذكرة الأخرى هي أيضًا من النوع التذكرة.
‫إذن ، لها مدتها بالساعات ونحن نقارن الاثنين ببعضهما البعض.
‫وهذه المقارنة ، علامة المساواة المزدوجة هذه ، ستعود بشكل أساسي إلى صح أم خطأ؟
‫إذن هذا عامل التشغيل المنطقي في اليسار واليمين.
‫لذا فإن ما تفعله هو مقارنة ما تبقى لها وما هو مناسب لها.
‫وإذا كانت متطابقة ، فستعود صحيحًا.
‫وإلا فإنه سيعود خطأ.
‫في الأساس ، فإن القول بأن هذه الطريقة يساوي سيعود صحيحًا.
‫إذا كانت التذكرة التي تستدعي طريقة equals لها نفس المدة بالساعات مثل التذكرة التي نقارنها بها
‫، فعندئذٍ تعود صحيحًا.
‫إذا لم يكن كذلك ، فقم بإرجاع القيمة false.
‫حسنًا ، دعنا ننتقل إلى برنامجنا ، CSE ، ونستخدم هذا بالفعل.
‫إذن ، ما سننشئه هنا هو تذكرتان ، واحدة ستكون TW واحدة وستكون تذكرة جديدة وستكون
‫مدتها في ساعات من عشرة.
‫ثم دعونا ننسخ هذا وننشئ التذكرة الثانية ، والتي سيكون لها أيضًا 10 ساعات ويمكننا الآن
‫مقارنتها.
‫فلنستخدم هنا السطر الأيمن للتحكم لعرض نقطتين اثنتين فقط ونقارن اثنين به.
‫هنا أقوم أساسًا بمقارنة تذكرتنا الثانية بالتذكرة الأولى ومقارنتها باستخدام طريقة يساوي.
‫الآن دعونا نجري هذا بسرعة حقيقية.
‫وسترى أنه يقول صحيح.
‫وهذا ليس هو الحال عادةً بالنسبة إلى طريقة equals ، لأنك إذا قارنت بين شيئين باستخدام طريقة equals
‫العادية ، إذا جاز التعبير.
‫لذا إذا لم ننفذ هذا ، فلنتخلص من هذا لثانية.
‫لذلك دعونا نعلق كل هذا ودعنا نقارن الاثنين.
‫كما ترى ، الطريقة لا تزال موجودة.
‫هذا يساوي لا يزال يعمل ، لأن المساواة هي طريقة موجودة بشكل عام.
‫وترى الآن أنها تقول خطأ لأن المساواة هي طريقة موجودة داخل فئة الكائن.
‫ولصنف الكائن دائمًا طريقة يساوي هذه لأن كل فئة ترث من الكائن.
‫لكن ما نقوم به الآن هو أننا نطبق طريقة التساوي الخاصة بنا باستخدام واجهة I المتساوية.
‫لذلك نحن نستخدم واجهة محددة تتيح لنا المقارنة بطريقتنا الخاصة ، إذا جاز التعبير ، وتنفيذ الكود
‫الخاص بنا.
‫إذا قارنا الآن بين الاثنين ، فإننا لا نقارن ما إذا كان الكائن هو نفسه تمامًا
‫الذي نقارنه به ، ولكن إذا كان الوقت في حالتنا هو نفسه ، فإن المدة في الوقت الحالي هي نفسها ، وبعد ذلك ستعود
‫صحيحًا.
‫لذا ، إذا لم يكن الوقت والوقت متماثلًا ، فلنفترض أنه ستة ، فسيتم إرجاعه كاذب لأن المدة
‫ليست هي نفسها للتذكرتين اللتين نقارنهما ببعضهما البعض.
‫لذلك كان هذا مجرد مثال باستخدام واجهة بسيطة موجودة وكما رأيت ، هناك الكثير
‫من الواجهات التي توجد تلقائيًا عند إنشاء مشروع.
‫لكننا سنرى كيف نصنع واجهاتنا الخاصة ونستخدمها في الفيديو التالي.
‫لذا أراك هناك.