![]() |
|
The Interfaces - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : The Interfaces (/showthread.php?tid=4735) |
The Interfaces - RaggiTech - 01-10-12 كاتب الموضوع : !!! BoriS !!!
السلام عليكم ورحمة الله وبركاتة ان كنت من مبتدئ برمجة OOp فدعنى اقل لك ان VB.NET لغة كائنية التوجة Object Oriented Programming بما تحملة هذه الكلمة من معانى ولكـــــــــــن ... من حيث الغيرة والعنصرية الموجودة بين طوائف المبرمجين ، يتفوق اصحاب قافلة C ++ بعدة خطوات فى هذا السباق من اهم هذه الخطوات الــ MultPle Inheritance وهى بمعنى الوراثة المتعددة وهى قدرة الفئة من وراثة اكثر من فئة بداخلها ... ولكن يأتى الحل لمداوة مبرمجى VB.NET للتخلص من عقدة النقص والمتمثلة فى ال MultPle Inheritance بواسطة الكلمة السحرية Interfaces دعنا نقل كلمة حــــق. الوراثة المتعددة لها عيوب ولذك يتجنبها مبرمجى اللغات التى تدعمها ولكن فوائدها لاتعد ولاتحصى. الواجهـــات Interfaces هى اكثر أمانا وسهولة من هذا المبدأ .. أذن دعنا من الكلام النظرى ولننزل الى ارض الواقع ونحتك بالواجهـــات Interfaces الواجهات Interfaces هى من اهم التقنيات التى تدعم مبادئ ال oop سواء بطريقة غيرة مباشرة كــال Multiple inheritance او بطريقة مباشرة كــا Polymorphism مبدأ تعدد الواجهات. الواجهات : هى عبارة عن بعض الخصائص وال Methods التى تصف فئة معينـــــة ( تصــــف ) ... كود : [color=#000000][COLOR=#007700]Class [/color][COLOR=#0000bb]Boris الفئة السابقة تحتوى على اعضاء تصفها وهو تطبيق لمبدأ Polymorphism وهو احتواء الفئة لاكثر من واجهة تصفهــا ، يزودك مبدأ Polymorphism بكثير من المميزات والتى ابرزها عدم تكرار اكوادك. كود : [color=#000000][COLOR=#0000bb]Sub PlayIt[/color][color=#007700]([/color][color=#0000bb]ByVal FileObj [/color][color=#007700]As [/color][color=#0000bb]WavFile[/color][COLOR=#007700]) وكذلك مع باقى الملفات الصوتية (( تكـــــــــــــــــــــرار لشفراتك )).. والتكرار ايضا يشمل عملية استدعاء هذه الاجراءات وكذلك ارسال الوسيطة المطلوبة لكل اجراء مع التحقق منهــا. وتخيل ان اردت اضافة ملف جديد فالتكرار ثم التكرار . اما مع الوجهـــات Interfaces واجهة باسم XFile كود : [color=#000000][COLOR=#0000bb]Sub PlayFile[/color][color=#007700]([/color][color=#0000bb]ByVal FileObj [/color][color=#007700]As [/color][color=#0000bb]XFile[/color][COLOR=#007700]) الاجراء السابق بامكانة احتواء اى ملف صوتى يحتوى على الواجة XFile لنرى كيف يتم بناء الواجهــــــــــات .. استخدم الكلمة المحجوزة Interface ثم اسم الواجهة لنعرف الواجهة السابقة فى المثال اعلاه .. كود : [color=#000000][COLOR=#007700]Interface [/color][COLOR=#0000bb]XFile لاتستخدم كلمات اغلاق ال Bolcks الى تم عملها لان لاحول لها ولا قوة. ولا يمكنك تعريف متغير تقليدى بداخلهـــا ( لااعلم ما السبب ) . ناتى الى استخدام الواجهـــة كود : [color=#000000][COLOR=#007700]Class [/color][COLOR=#0000bb]BorisClass يجب الاعلان عن جميع اعضاء الواجهة ويقوم vb.net بفعل هذا بدلا منك كود : [color=#000000][COLOR=#0000bb]Property FileName [/color][color=#007700]() as [/color][COLOR=#0000bb]String استخدم ال Class بكل اعضاءها اقصد واجهاتهــا فى اى وقت ولاحظ انك تستطيع استعمال اكثر من واجهة فى نفس ال Class (وراثة متعددة) داخل VB.NET واجهات كثيرة تقريبا كل Class لها واجهة تخصها ابوية اقصد بكلمة ابوية اى ان ترى مثلا الواجهة IDbConnection مسئولة عن الاتصال بقواعد البيانات ( قواعد البيانات اى كانت ) . واجهات VB.NET كثيرة وعديدة ونستكشفها ان شاء الله فى مواضيع قادمة والسلام عليكم ورحمة الله وبركاتة. |