PDA

View Full Version : سوال: تابع clone نحوه کار با آن



aminaltavista
یک شنبه 12 آذر 1391, 11:49 صبح
سلام

کار تابع clone چیست و برای چه از آن استفاده میکنند؟

نکته:

موردی که بنده مد نظرم است از کلاس Socket.clientSocket.clone واقع در فضای نام system.net.Socket است.:متفکر:

hakim22
یک شنبه 12 آذر 1391, 13:29 عصر
Clone مربوط به هر شی در محیط برنامه نویسی میشه که دارای اینترفیس IClonable باشه.
خیلی از اشیای دات نت این قابلیت رو دارا هستند.
کار این متد کپی کردن همه ی خصوصیات یک شی به یک نمونه ی جدید از آن است . توجه داشته باشید اشاره گر شی نیز در این حالت کپی میشد.

اصولا Clonning دو روش دارد : Shallow و Deep
حالت اول همانی بود که توضیح دادم.
در حالت Deep همه ی خصوصیات یک شی کپی میشود ولی اشاره گر آن کپی نمیشود ( بهترین راه برای استفاده از این روش استفاده از Serialization است.)