صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

partial class چیست ؟

مفهموم partial class چیست ؟

این مفهموم از زمان وارد شدن .net 2  به بعد مطرح شد به این ترتیب که شما در یک فضای نام یکسان  namespace   می توانید اطلاعات کلاستتون را در دو یا بیشتر از دو فایل جداگانه قرار دهید . مشروط بر اینکه فضای نام  namespaceهمه فایلها  یکسان باشد . به مثال زیر دقت کنید . کلاسی داریم به نام myclass  که می خواهیم آن را در 2 فایل تقسیم کنیم فایل اول به نام someclass و فایل دوم به نام moreclass   است .

خوب همانطور که گفتم باید حتما فضای نام namespace  هر دو فایل یکسان باشد حالا محتویات هر دو فایل را در زیر می آوریم

فایل someclass                                                                                                                                                                                   

Namespace  space1{

public partial class myClass
{
   public int P1 { get; set; }
}

}

فایل  moreclass

Namespace  space1{

public partial class myClass
{
   public int P2 { get; set; }

public void ala()

{

//دستورات متد

}


}

}

همانطور که مشاهده می کنید بخشی از کد های کلاس myClass در یک جا و ادامه کدها در قسمت دیگری آمده است. از این ویژگی می توان برای گسترش کلاس ها استفاده کرد اما هر دو در یک فضای نام namespace  قرار گرفته اند .

اما حالا که با این مفهوم آشنا شدیم سوال اساسی این است که فایده این روش در کجاست و چرا استفاده می کنیم ؟

1-      افزایش خوانایی در کلاس های بسیار زیادی است

2-      اگر شما بر روی کلاس پیچیده ای کار می کنید براحتی می توانید آن را بین چند نفر تقسیم کنید و هر کدام از افراد در فایلی جداگانه ، کدهای کلاس خود را می نویسد .

3-      شما براحتی می توانید در جاهایی که برخی کدهای بصورت اتوماتیک تولید می شوند ،مثل کد فرمهای تحت ویندوز (Windows Forms, Web Service) ، را از کدهایی که شما بصورت دستی می نویسید را تفکیک کنید . در نتیجه  اعمال تغییرات بسیار راحتتر می شود

4-      در تعریف کلاسها می توانیم بخش از کلاس ما که دارای خصوصیات private   را از بخش که دارای خصوصیات public  باشه را تفکیک می کنیم این کار به خوانایی و روان فهمیدن کلاس کمک فراوانی می کند.

5-      در تعریف interface ها شما می توانید تعریف  interface  را در یک فایل و رابطه ها و اعمال و پیاده سازیهای آن را در فایلی دیگر قرار دهید .

نظرات 1 + ارسال نظر
aghdam یکشنبه 18 مهر‌ماه سال 1389 ساعت 12:49 ق.ظ http://www.aliaghdam.blogspot.com

سلام
توجه داشته باشید که Partial برای Struct ها و Interface ها نیز استفاده کرد و یکی از زیبایی های آن در زیر کلاس هاست

همچنین در هنگام فایل کلاس های Partial همگی تبدیل به یک کلاس (اسمبلی)می شوند.

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد