www.itiran.4umer.com
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

dars 5

اذهب الى الأسفل

dars 5 Empty dars 5

پست  Admin الأحد نوفمبر 18, 2007 6:50 am

درس بیست یکم

متدهای مشابه با آرگومانهای مختلف

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

دو متد می توانند دارای اسامی یکسان باشند، به این شرط که تعداد آرگومانهای آنها مختلف بوده و یا نوع برخی از آرگومانهای آنها فرق داشته باشد.

برای مثال، کلاس Virus می تواند دارای دو متد tauntUser() (به معنای طعنه زدن به کاربر) باشد که یکی از آنها آرگومانی نگرفته باشد و یک طعنه عمومی را نمایش دهد و دیگری متن طعنه را به صورت یک آرگومان از نوع رشته دریافت کند. مانند زیر:

Void tauntUser() {

System.out.println(“the problem is not with your set,but”+”with yourselves.”);

}

void tauntUser(string taunt) {

system.out.println(taunt);

}


درس بیست دوم

متدهای سازنده

برای ایجاد یک شیء در برنامه، از جمله new استفاده می شود، مانند زیر:

Virus typhoid=new virus( );

این جمله، یک شیء virus جدید به نام typhoid ایجاد می کند. وقتی از جمله newاستفاده می کنید، متد خاصی از کلاس آن شیء فراخوانی می شود. این متد سازنده (constructor) نامیده می شود، چرا که عملیات مربوط به ایجاد شیء را انجام می دهد .هدف اصلی از وجود سازنده، مقداردهی کلیه متغیرهایی است که برای کارکرد صحیح شیء ، مورد نیاز می باشند .

متدهای سازنده ، مانند سایر متدها تعریف می شوند، با این تفاوت که قادر به بازگرداندن مقدار نمی باشند. در زیر دو متد سازنده برای کلاس virus را مشاهده می کنید:

Public virus() {

author=”Ignoto”;

maxFileSize=30000;

}

public virus(string name,int size) {

author=name;

maxFileSize=size;

}

با استفاده از آرگومانهای مختلف ، می توان برای یک کلاس، چندین سازنده تعریف کرد. در مثال بالا ، سازنده اول وقتی فراخوانی می شود که یک جمله new مانند زیر به کار رفته باشد:

Virus mumps=new virus();

سازنده دیگر در صورتی فراخوانده خواهد شد که در جمله new از یک رشته و یک عدد صحیح به عنوان آرگومان استفاده شده باشد، مانند :

Virus rubella=new virus(“April Mayhem”,60000);

اگر برای یک کلاس هیچ متد سازنده ای تعریف نکنید، این کلاس ، سازنده ای از کلاس ارشد خود که هیچ آرگومانی نمی گیرد، به ارث خواهد برد. در ضمن ، بسته به کلاس ارشد به کار رفته، کلاس فوق ممکن است متدهای سازنده دیگری را نیز به ارث ببرد.

هر کلاسی باید دارای یک متد سازنده باشد که تعداد و نوع آرگومانهای آن با آنچه در جمله new مربوط به ایجاد اشیای آن کلاس به کار رفته ، یکسان باشد.

مثلاً برای ایجاد اشیای از نوع virus که دارای دو سازنده به صورت virus() و virus(string name,int size) می باشد، تنها می توان از دو نوع جمله new استفاده کرد : یکی بدون آرگومان و دیگری دارای دو آرگومان که اولی از نوع رشته و دومی از نوع عدد صحیح می باشد .


affraid
Admin
Admin
Admin

تعداد پستها : 63
Registration date : 2007-11-08

https://itiran.4umer.com

بازگشت به بالاي صفحه اذهب الى الأسفل

بازگشت به بالاي صفحه

- مواضيع مماثلة
» 1 dars
» dars 2
» dars 3
» dars 4
» dars 6

 
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد