PDA

View Full Version : متد چیست؟



nasime_shomal
دوشنبه 23 شهریور 1388, 21:25 عصر
متد چیست؟
متد قطعه کدی است که باعث کارامدی و سرعت و دقت در برنامه نویسی میشود. دلیل اصلی نوشتن متد اینه که شما بتونید از یک قطعه کد چندین بار استفاده کنید در حالی که شما فقط اسم متد را تایپ میکنید و دلیل دیگر آن محول کردن یک کار بخصوص به یه متد است.مثال:

فرض کنید شما می خواهید یک برنامه برای ماشین حساب ساده بنویسید برای اینکار ابتدا باید به هر یک از شماره های ماشین حساب از 0 تا 9 یک دستور بدهید تا یک شماره را برگرداند مثلا با زدن عدد 2 این دکمه عدد 2 را برای برنامه برگرداند خوب برای این کار شما باید برای هر دکمه کدی مانند کد زیر بنویسید


textMashinHesab.Text = textMashinHesab.Text + "2";

اما این کد را باید برای 10 دکمه نوشت که وقت و حوصله زیادی می خواهد و حجم کدتان را افزایش میدهد.(کد بالا برای دکمه 2 در ماشین حساب میباشد که در حقیقت میگوید با زدن دکمه 2 یک 2 به انتهای اعداد موجود در textbox اضافه شود)اما روش بهتری نیز وجود دارد و آن نوشتن یک متد واحد برای 10 دکمه است. به مثال زیر توجه کنید:

private void EzafeKardanAdad(int a)
{
int b;
b=int.parse(textMashinHesab.Text );
b=b+a;
textMashinHesab.Text =b.tostring();
}
بعد از اینکه متد بالا را نوشتیم از این متد به صورت زیر در اعلان کلیک هر عدد استفاده میکنیم:

EzafeKardanAdad(2);
که این دستور عدد 2 را در متد بالا به جای( int a) قرار میدهد و بعد b را با a جمع میکند (b عدد موجود در textbox ماشین حساب میباشد) و مجموع را در b قرار میدهد و در انتها b را به رشته تبدیل میکند و به textbox برمیگرداند. البته احتمالا این کد برای کسانی که در حال یاد گرفتن متد هستند کمی مبهم است. ولی این دسته از دوستان فقط به این نکته توجه کنند
که با استفاده از متد به جای نوشتن کد زیر


textMashinHesab.Text = textMashinHesab.Text + "2";

فقط

EzafeKardanAdad(2);
را می نویسند. به نظر شما کدام کد راحت تر است؟
اگر دوستان مشکلی در فهم این مطلب داشتند بگویند تا این مصلب را تصحیح کنم و دوستانی هم که این موضوع را مفید میدانند یه تشکر خشک و خالی پایین سمت چپ است:لبخند:
با تشکر

alireza_tavakol
سه شنبه 24 شهریور 1388, 07:11 صبح
private void EzafeKardanAdad(int a)
{
int b;
b=int.parse(textMashinHesab.Text );
b=b+a;
textMashinHesab.Text =b.tostring();
}
بعد از اینکه متد بالا را نوشتیم از این متد به صورت زیر در اعلان کلیک هر عدد استفاده میکنیم:

EzafeKardanAdad(2);
که این دستور عدد 2 را در متد بالا به جای( int a) قرار میدهد و بعد b را با a جمع میکند (b عدد موجود در textbox ماشین حساب میباشد) و مجموع را در b قرار میدهد و در انتها b را به رشته تبدیل میکند و به textbox برمیگرداند.

من هر جوری فکر میکنم باز به این نتیجه میرسم که مثال شما غلط است

شما نباید b=b+a قرار دهید بلکه باید b=(b*10)+a قرار دهید!

فرض کنید عدد 10 در display ماشین حساب درج شده باشد و شما متد نوشته شده را با پارامتر 2 صدا بزنید ، مقدار display برابر با عدد عدد 12 می شود در صورتی که کاربر انتظار دارد عدد display برابر با عدد 102 شود

JaguarXF
سه شنبه 24 شهریور 1388, 07:56 صبح
با تشکر از جنابعالی و زحمت و وقتی که برای تهیه مطلب گذاشته اید.
ولی دوست من بنظرتان دیگر هرکسی اینجا عضو شده در حد اینکه "متد چیست" رو هم یعنی نمیداند!
اینطور نه استک سوالات بخش به سرعت رشد میکند و هم شما میتونید وقت خودتون رو صرف یادگیری دانش بیشتری بکنید .

mostafa_shaeri_tj
سه شنبه 24 شهریور 1388, 14:05 عصر
من هم کاملا با JaguarXF (http://barnamenevis.org/forum/member.php?u=90128) موافقم .

nasime_shomal
سه شنبه 24 شهریور 1388, 15:31 عصر
آقای توکل دستتون درد نکنه حرف شما کاملا درسته و من یه لحظه یادم رفت.تصحیح شد.ممنون
از دوستان دیگه هم ممنون ولی فکر نمیکنم تمام بچه های توی این فروم یا کسایی که به صورت مهمان میان همشون در سطح بالا باشند به هر حال من یه وظیفه ای در قبال اطلاعاتم دارم و نکته دیگه اینکه من اطلاعاتم در ائن حد نیست که بخوام خیلی لز مسائل رو آموزش بدم بازم از شما تشکر میکنم

nasime_shomal
سه شنبه 24 شهریور 1388, 15:33 عصر
متد چیست؟
متد قطعه کدی است که باعث کارامدی و سرعت و دقت در برنامه نویسی میشود. دلیل اصلی نوشتن متد اینه که شما بتونید از یک قطعه کد چندین بار استفاده کنید در حالی که شما فقط اسم متد را تایپ میکنید و دلیل دیگر آن محول کردن یک کار بخصوص به یه متد است.مثال:

فرض کنید شما می خواهید یک برنامه برای ماشین حساب ساده بنویسید برای اینکار ابتدا باید به هر یک از شماره های ماشین حساب از 0 تا 9 یک دستور بدهید تا یک شماره را برگرداند مثلا با زدن عدد 2 این دکمه عدد 2 را برای برنامه برگرداند خوب برای این کار شما باید برای هر دکمه کدی مانند کد زیر بنویسید


textMashinHesab.Text = textMashinHesab.Text + "2";

اما این کد را باید برای 10 دکمه نوشت که وقت و حوصله زیادی می خواهد و حجم کدتان را افزایش میدهد.(کد بالا برای دکمه 2 در ماشین حساب میباشد که در حقیقت میگوید با زدن دکمه 2 یک 2 به انتهای اعداد موجود در textbox اضافه شود)اما روش بهتری نیز وجود دارد و آن نوشتن یک متد واحد برای 10 دکمه است. به مثال زیر توجه کنید:

private void EzafeKardanAdad(int a)
{
int b;
b=int.parse(textMashinHesab.Text );
b=b*10+a;
textMashinHesab.Text =b.tostring();
}
بعد از اینکه متد بالا را نوشتیم از این متد به صورت زیر در اعلان کلیک هر عدد استفاده میکنیم:

EzafeKardanAdad(2);
که این دستور عدد 2 را در متد بالا به جای( int a) قرار میدهد و بعد b را با a جمع میکند (b عدد موجود در textbox ماشین حساب میباشد) و مجموع را در b قرار میدهد و در انتها b را به رشته تبدیل میکند و به textbox برمیگرداند. البته احتمالا این کد برای کسانی که در حال یاد گرفتن متد هستند کمی مبهم است. ولی این دسته از دوستان فقط به این نکته توجه کنند
که با استفاده از متد به جای نوشتن کد زیر


textMashinHesab.Text = textMashinHesab.Text + "2";

فقط

EzafeKardanAdad(2);
را می نویسند. به نظر شما کدام کد راحت تر است؟
اگر دوستان مشکلی در فهم این مطلب داشتند بگویند تا این مصلب را تصحیح کنم و دوستانی هم که این موضوع را مفید میدانند یه تشکر خشک و خالی پایین سمت چپ است:لبخند:
با تشکر

Amir Oveisi
چهارشنبه 25 شهریور 1388, 00:57 صبح
پیشنهاد می کنم این گونه مطالب رو در تالار مقاله های مرتبط با دات نت قرار دهید تا انسجام مطالب تالار ها هم حفظ بشه و کسی هم که دنبال مطلب شماست سریع تر به جواب برسه.

ممنون و موفق باشید

i-phone
شنبه 01 تیر 1392, 00:32 صبح
سلام
ببخشید تاپیک 2 سال پیش رو میارم بالا
ولی کلا من تا الان نفهمیدم دستور pars چیکار میکنه !؟

esafb52
شنبه 01 تیر 1392, 00:35 صبح
دوست عزیز من و خیلی از دوستان هم مبتدی هستیم ولی !!1یکم مطالعه کن کتاب مهندس هاشمیان رو!!!
برای گرفتن مقدار یک عدد از درون یک رشته استفاده میشه مثلا هرچی در تکس باکس هست چه عدد و چه حروف بصورت رشته دریافت میشه و باید تبدیل بشه!!!!

i-phone
شنبه 01 تیر 1392, 00:35 صبح
راستی این دستورات مثلا public و یا prive که در اول اسم متد میارن معناش چیه و چه فرقی با یکدیگر دارند ؟

i-phone
شنبه 01 تیر 1392, 00:44 صبح
بنده دارم بر اساس کتاب آقای هاشمیان جلو میرم !
ولی خب اگر قبلش بودنم مگر مشکلی ایجاد میشود ؟
چشم دیگه سوال نمی پرسم
آخه توی این تاپیک نباید این سوال رو می پرسیدم ؟

ok.baby
چهارشنبه 30 بهمن 1392, 18:52 عصر
تو گوگل سرچ کردم ، چندجا مطلب خوندم و نهایتا با این توضیح فهمیدم دقیقا چطور میشه یه متد نوشتو استفادش کرد.
ممنون :قلب: