PDA

View Full Version : سوال: سازنده مقدار دهنده چیست؟



irpersian20
یک شنبه 04 فروردین 1392, 13:35 عصر
سلام
منظور از سازنده مقدار دهنده چیست؟
مشکل با : هست و کلمه this
یعنی دوباره میره به سازنده که 3 تا پارامتر داره رجوع میکنه؟ یا مستقیم انتساب میده؟

مثال:

public Time2 (int h=0 , int m=0,int s=0 )
hour=h;
minute=m;
second=s;
}

public Time2(Time time)
:this (time.hour,time,minute,time,second)

tooraj_azizi_1035
یک شنبه 04 فروردین 1392, 13:51 عصر
سازنده دوم یکبار سازنده اول رو صدا میزنه قبل اجرای هر گونه کدی داخل بلاک خودش بعد کدهای درون بلاک خودش اجرا می شوند:
مثال:

public class Employee
{
public int salary;

public Employee(int annualSalary)
{
salary = annualSalary;
}

public Employee(int weeklySalary, int numberOfWeeks)
{
salary = weeklySalary * numberOfWeeks;
}
}


فراخوانی به این شکل:


public Employee(int weeklySalary, int numberOfWeeks)
: this(weeklySalary * numberOfWeeks)
{
}


باعث فراخوانی این سازنده می شود:

public Employee(int annualSalary)
{
salary = annualSalary;
}