- ده الـ
classالأساسي لكل أنواع البيانات (data types) في لغة#C(حرفيًا كلها). - السبب في كده إن
#Cبتتبع (Object-Oriented Programming أو Object-Oriented Programming (OOP))، واللي فيه كل حاجة في اللغة عبارة عنobject، سواء بشكل مباشر أو غير مباشر، وكلهم بيورثوا منSystem.Object. - لو عملت
functionبتاخدparameterمن نوعobject، حرفيًا هتقدر تدخلها أيdata type. - ولو الـ
functionدي بترجعobject، هينفع ترجع أيdata typeبرضه. - كل أنواع البيانات (
data types) بتورث من الـclassده لسببين رئيسيين:- الـ
Genericsتم اختراعها سنة 2005: فمن سنة 2002 لحد 2005، كان الـSystem.Objectبيُستخدم لكل حاجة تقريبًا كحل عام. - فيه مجموعة من السلوكيات (behaviors) لازم تكون مدعومة في كل أنواع البيانات:
- الـ
public virtual String ToString();← بترجع حالة الـobject(القيم بتاعته) في شكل نص (string). (ToString CS) - الـ
public virtual int GetHashCode();← بترجع رقم فريد بيميز الـobject(unique identifier). شوف (GetHashCode CS) - الـ
public virtual bool Equals(Object O2);← علشان تتأكد من تساوي اتنينobjectsببعض. (شوف Equals) أو Equals CS - الـ
public Type GetType();← بترجع نوع الـdata typeبتاع الـobject. شوف (GetType CS)
- الـ
- الـ
Object o1; // zero bytes have been allocated in Heap
o1 = new Object();
// new (IL -> newObj) - Creates a new object instance
Object o2 = new Object();
o2 = o1; // o2 now refers to the same object as o1بنستخدم معاه مفهوم الـ Boxing and Unboxing.