PDA

View Full Version : سوال: تفاوت بین Constructor و Method overloading



haamidd
چهارشنبه 31 تیر 1394, 15:02 عصر
تفاوت بین Constructor و Method overloading چیست؟

abdullah20
چهارشنبه 31 تیر 1394, 20:59 عصر
سلام
(Constructor) همنام کلاس است و برای مقداردهی اولیه متغیرها مورد استفاده قرار میگیره یعنی اولین متودی است که اجرا میشه
در سوی دیگر Method overloading امکان تعریف چند متود با نام یکسان را میدهد که تفاوت متودها در نوع و پارامترهای ورودی می باشد

alireza264
چهارشنبه 31 تیر 1394, 21:20 عصر
سلام
بصورت خیلی خلاصه
با استفاده ارسازنده کلاس تعیین می کنیم که هنگام تعریف نمونه ای از کلاس باید چند داده حتما به نمونه تعریف شده داده شود تا فیلدهای مورد نظر ما مقدار دهی شوند و کاربردش هم زمانیه که برای استفاده ار نمونه تعریف شده لازم است چند فیلد آن حتما مقدار داشته باشند . لازم بذکره که همه کلاس ها نیاز به یک سازنده دارند و اگه ما اونو تعریف نکنیم دات نت خودش براش یکی میسازه

Method overloading
اگه ما بخوایم یک متد چند کار متفاوت برای ما انجام بده و مقدارهای متفاوتی از نظر نوع برما برگردونه از Method overloading استفاده می کنیم بدین صورت به تعداد کار های متفاوت متد رو تعریف می کنیم اما باید در نوع یا تعداد پارامترهای وروردی با هم متفاوت باشند.
در ضمن باتوجه اینکه سازنده هم یک متد هست میشه اونوهم overload کرد



public void my_metod()
{
messagebox.show("metod void");
}

public void my_metod(int a)
{
messagebox.show("a is " + a.tostring());
}

public int my_metod(int a, int b)
{
int c;
c=a+b;
return c;
}