الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

boxing and uboxing

مغلق
بدأه عمر أبو قعدان في 7 فبراير 2003 · 3 رد · 995 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

امن لا يعرف ما هو التعليب وفك التعليب هو تحويل المتغير الذي عرفتة الى الفئة الأساس object كما في الكود التالي

int i=5;

Object o=i;//تعليب

int i2=(int)o;//فك تعليب

الفائدة المرجوة منه هي انك عندما تواجهة منهج "دالة" تريد بارامتر من نوع Object فتستطيع تمرير ما هو غير الObject عن طريقها

السؤال هل هناك إستخدامات أخرى للتعليب؟

ملاحظة: التبديل من أي كائن غير Object الى Object هو تبديل ضمني كون الSystem.Object هو الكائن الأم لكل الكائنات

#2

التعليب (Boxing) ليست فقط تحويل من نوع قيمة او إشارة (Ref. or Value Types) إلى النوع Object !

تطلق على أي عملية تحويل أي كائن إلى أساس الكائن بـالتعليب ! أي عندما يكون لدينا فئتين الفئتة الأولى A والثانية B ، الفئة B مشتقة من الفئة A . عندما نقوم بالأتي :

A var1;

B var2 = new B();



var1 = var2; //Boxing !

لاحظ هنا أن التعليب حصل بين المتغير var1 & var2 لأن الفئة A تعتبر أساس للفئة B فلذلك نسمي هذا تعليبا.

أعتقد هنا تتضح الفائدة من وجود الـ Boxing

هذا الموضوع مغلق.

مواضيع مشابهة