![]() |
|
الدرس الرابع والعشرون - System.Object - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة .net 2008 . لنبدأ سوياً (http://vb4arb.com/vb/forumdisplay.php?fid=138) +---- الموضوع : الدرس الرابع والعشرون - System.Object (/showthread.php?tid=5618) |
الدرس الرابع والعشرون - System.Object - RaggiTech - 14-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته . كما شاهدنا في الدروس السابقة ان الكلاس System.Object هو الكلاس الرئيسي في ال .net ومنه تشتق جميع الكلاسات الأخرى ، يمكن التأكد من ذلك عن طريق استخدام is للتأكد من اي كلاس تقوم بعمله هو مشتق من الكلاس System.Object . وبهذه الطريقة فإن اي كلاس يحتوي على الأعضاء الرئيسية الموجودة في Object ، اهمها . Equals : تعطي True فقط في حالة كون النسختين يشيرون لنفس الكائن . Finilize : لافراغ نسخة الكائن نهائياً من الذاكرة . هناك دوال أخرى هي : GetHashCode - GetType - ToString - MmeberwiseClone قبل ان نستخدم اي من هذه الدوال ، نحتاج إلى عمل overridding لها لتتناسب مع متطلباتنا لهذا الكلاس . فمثلاً يمكننا تحويل الدالة ToString لتعطينا اسم السيارة ، تحويل الدالة Equals لتعطي True في حالة كون carNumber للنسختين متساوي . وهكذا . أما لماذا لم نقم بتعريف دوال جديدة لمثل هذه المهام بدلاً من عمل overridding ، يعود السبب إلى توحيد المفاهيم ، فأي شخص يعرف ان Equals لاي كلاس ينبغي ان تكون دالة مناسبة لعملية المقارنة ، ويمكن استخدامها مع الفئات الرئيسية مثل int و String وخلافه . للمزيد يمكنك مراجعة الدرس الأول من سلسلة دروس Tips & Tricks نكتفي بهذه المجموعة من الدروس لهذا اليوم ، نكمل في يوم لاحق إن شاء الله تعالى . والله الموفق ... والسلام عليكم ورحمة الله وبركاته . |