منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الدرس الرابع والعشرون - 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

نكتفي بهذه المجموعة من الدروس لهذا اليوم ، نكمل في يوم لاحق إن شاء الله تعالى .

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .