تبليغات
آرشيو موضوعي
لینک به ما
با قرار دادن این بنر در سایت خود از ما حمایت کنید

و یا به صورت متن
لينك دوستان
اطلاعات
تعداد مطالب : 277
ايجاد صفحه : 2.33 ثانيه
تاسيس : 28/03/85
به روز شده : ۲۴ /۵ /۱۳۸۷
آمار سايت
تعداد افراد آنلاین : 396
بازديد امروز : 41133
بازديد ديروز : 66805
بازديد كل : 20172842
امكانات
  افزودن به علاقه منديها   ارسال ايميل   RSS 2.0   آمار وب سايت
ارسال براي دوستان
لینک این مطلب را برای دوست خود ارسال کنید.
ايميل گيرنده:

ايميل فرستنده:

پيام شما (اختياري):

powered by Google
" ميراثي گران بهاتر از راستي و درستي نيست "

لینکدونی آسان دانلود : مطالب جالب و خواندنی از سراسر وب

:: تصاویری منتشر نشده از داخل چاه زمزم (720)
:: گذاشتن گدجت یاهو مسنجر در جیمیل (141)
:: پل‌سازی به سبک چینی! (271)
:: تازه های موبایل در هفته ای که گذشت (یکم آذر 1387) (199)
:: نصف جهان در دو روز! (197)
:: امکانات جدید گوگل برای جستجو: تغییر رتبه ی جستجوها (92)
:: گوگل با SearchWiki، جستجو را شخصی‌تر می‌کند (89)
:: :: با كمترين هزينه خودتان سايت بسازيد (417)
:: :: پربينده ومحبوب ترين سريال روز (408)
:: داده‌کاوشی و سیستم پیش‌اخطار گوگل (1448)
:: نخستین عمل پیوند با استفاده از عضو ساخته شده از سلول‌های بنیادی (584)
:: گزارش تصویری از عمل سزارين با هيپنوتيزم (1110)
:: سایت تخصصی ماهیگیری ورزشی (1660)
:: رستوارانی به شکل بیمارستان (2206)
:: تصاویری خنده دار از جرج بوش (2854)
:: چطور از شر رمز BIOS خلاص شویم؟ (2423)
:: جدیدترین تصاویر از اخراجی ها دو (2716)
:: بی ام و سری هفت از نوعی کاملا منحصر به فرد (2023)
:: آرشیو عکس دو میلیون قطعه‌ای مجله لایف (1937)
:: كارگاه صابون سازي در شهر مراغه (1758)
» ادامه - آرشيو لينکدوني ...                                                                   » دريافت كد لينكدوني
Nov 23 , 2008
يكشنبه 3 آذر 87
مديريت وب سايتمدير تبليغات  عصرخوش؛ خسته‌ نباشيد
موضوع : #C  تعداد بازديد : 823

تعريف متدها در سي شارپ


در اين قسمت به يكي از مهمترين مباحث برنامه نويسي سي شارپ مي رسيم.
متدها در سي شارپ و يا همان توابع در زبان C ، اعضاي يك شيء يا كلاس هستند و مجموعه اي از يك سري از كارها را انجام مي دهند. فرض كنيد در برنامه ي شما ، قسمتي بايد يك عمليات رياضي خاص را انجام دهد و اين قسمت از كد كه شامل چندين خط نيز مي گردد بايد بارها و بارها در برنامه صدا زده شود. براي نظم بخشيدن به برنامه ، آنها را مي توان به صورت توابع بسته بندي كرد و بجاي نوشتن چندين خط تكراري، فقط نام اين بسته ( تابع ) و پارامترهاي آن را فراخواني نمود.


در سي شارپ يك تابع به صورت زير تعريف مي شود :


(نوع و اسامي پارامترها) نام تابع نوع خروجي تابع سطح دسترسي به تابع
}
بدنه ي تابع
{


براي تعريف يك متد يا تابع ابتدا سطح دسترسي به آن مانند public و private سپس نوع خروجي تابع مانند void ( هيچي ) ذكر مي گردد كه داخل اين پرانتزها مي توان ورودي هاي تابع يا بقولي آرگومان هاي ورودي را معرفي كرد. سپس تابع بايد با { شروع و با يك } خاتمه يابد.


براي مثال :


public int myFunc( int x )
{
...….
}


 

هر تابعي مي تواند صفر تا تعداد بيشماري آرگومان ورودي و صفر تا تعداد بيشماري خروجي داشته باشد. بوسيله يك تابع مي توان پيچيدگي كار را مخفي كرد و صرفا با صدا زدن نام آن ، يك سري از عمليات را انجام داد. گاهي از اوقات لازم مي شود دو يا چند تابع با يك نام داشته باشيم بطوريكه پارامترهاي ورودي يا مقادير خروجي و يا نوع آرگومان هاي ورودي آنها با هم متفاوت باشد به اين كار overloading مي گويند.
بسياري از كلاس هاي دات نت فريم ورك متدها و يا توابع مفيد حاضر و آماده اي را دارند. براي مثال كلاس DateTime ، متدي به نام ToLongDatastring دارد كه تاريخ را به صورت يك رشته طولاني بر مي گرداند.


توابع void :


توابعي كه با نوع void معرفي مي شوند هيچ خروجي ندارند و در زبان ويژوال بيسيك به آْنها sub و در دلفي به آنها procedure مي گويند.


بازگرداندن يك مقدار از يك تابع :


پس از اينكه عمليات يك مجموعه از كدها درون تابع به پايان رسيد با استفاده از كلمه ي return مي توان خروجي تابع را معرفي كرد. لازم به ذكر است ، هرجايي اين كلمه ي return ذكر شود كار تابع خاتمه مي يابد.


بهتر است موارد فوق را با چند مثال مرور كنيم :


مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex13 انتخاب نماييد. در اينجا مي خواهيم تابعي را تعريف كنيم كه سه برابر جذر يك عدد را بر مي گرداند.


using System;


namespace ex13
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine( int3SQL(3) );
Console.ReadLine();
}


public static double int3SQL( double intInput )
{
double i=0;
i = Math.Sqrt( intInput );
return i;
}
}
}


توضيحاتي در مورد كد فوق :


1- از شيء Math در سي شارپ مي توان براي انجام يك سري عمليات رياضي ابتدايي استفاده كرد. در اينجا از متد جذر گرفتن آن استفاده شده است.
2- در تعريف تابع خودمان از كلمه ي كليدي static استفاده شده است. درون تابع Main نمي توان توابع غير استاتيك را فراخواني كرد. فعلا اين نكته را بخاطر را داشته باشيد تا در مقالات بعدي بيشتر راجع به آن صحبت شود.
3- بد نيست تابع تعريف شده را كمي بيشتر آناليز كنيم :


public static double int3SQL( double intInput )
{
double i=0;
i = Math.Sqrt( intInput );
return i;
}


ابتدا سطح دسترسي به تابع ذكر شده است. پابليك ، يعني اين تابع خارج از كلاس يك برنامه نيز قابل دسترسي است. سپس از كلمه ي static استفاده گرديده كه توضيح مختصري را در مورد آن ملاحظه كرديد. در ادامه نوع خروجي تابع كه در اينجا double مي باشد معرفي گرديده است. دقت كنيد كه حتما بايد نوع تعريف شده با مقداري كه يك تابع بر مي گرداند يكسان باشد و گرنه با يك خطا برنامه متوقف مي شود. سپس نام تابع تعريف شده است. داخل پرانتز ها نوع و نام آرگوماني ارائه شده است كه در بدنه ي تابع استفاده مي گردد. اگر به تعداد بيشتري پارامتر و يا آرگومان نياز بود مي توان آنها را با , از هم جدا كرد.
پس از اينكه عمليات تابع خاتمه مي يابد با استفاده از return اين خروجي را معرفي مي نماييم.
براي استفاده از اين تابع به سادگي نام تابع و سپس پرانتزها به همراه يك عدد دلخواه را مي نويسم كه آنرا در متد Main برنامه مي توان مشاهده كرد.


تعريف توابع در كلاس هاي ديگر برنامه و نحوه ي استفاده از آنها :


يكي از زيبايي هاي برنامه نويسي شيء گرا نظم و ترتيب و بسته بندي كارها مي باشد كه اصطلاحا در اينجا به آن encapsulation مي گويند. يعني ما يك سري از توابع و خواص را درون كپسولي به نام كلاس قرار مي دهيم تا به سادگي بارها و بارها از آن استفاده نماييم.
براي اينكار به سادگي يك توابع را به صورت معمول درون كلاس تعريف مي نماييم و سپس همانند خواص كه در مورد آنها صحبت شد ، از توابع مي توان استفاده كرد با اين تفاوت كه هنگام كار با توابع حتي اگر آنها هيچ آرگومان و يا پارامتر ورودي هم نداشته باشند ذكر پرانتزها الزامي است.


مثالي ديگر در اين زمينه :


مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex14 انتخاب نماييد. سپس از منوي پروژه يك كلاس جديد را به برنامه اضافه نماييد (نام آنرا clsTools بگذاريد) .


using System;


namespace ex14
{
public class clsTools
{
public clsTools()
{
}


public uint intCalc ( uint a , uint b )
{
uint c = Math.Min (a,b);
double x = Math.Sqrt(c) ;
uint w = Convert.ToUInt32 ( x);
return w;
}
}
}


سپس در متد Main برنامه مي توان به صورت زير از آن استفاده كرد :


using System;


namespace ex14
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
clsTools m_var = new clsTools();
Console.WriteLine( m_var.intCalc(4,9));
Console.ReadLine();
}
}
}


توضيحاتي در مورد كد فوق :
1- تابع intCalc ما دو عدد صحيح مثبت را مي گيرد و سپس جذر كوچكترين دو عدد ورودي را محاسبه مي كند.
2- براي تبديل نوع هاي عددي مختلف به هم مي توان از شيء Convert استفاده كرد.
3- بدون استفاده از شيء Convert يكبار برنامه را اجرا كنيد و دليل خطاي بوجود آمده را بيان نماييد

نويسنده : مهرشاد تاريخ : پنجشنبه ۴ بهمنماه ۱۳۸۶ ساعت : ۵:۱۱:۲۲ بعدازظهر | نظرات | لينك خراب
مطالب مرتبط
نرم افزار - موبايل - كاريكاتور - آموزش - اخبار آي تي - فيلم -  لينكدوني -  تبليغات -  ارسال مطلب

Statistics | Atom | RSS 2.0 | RSD | E-Mail | Advertise
Copyright © 2005-2008 AsanDownload™ Design: Mahdi Hosting : Poshtiban
تمامي حقوق مطالب، تصاوير و طرح قالب براي آسان دانلود محفوظ است، نقل و استفاده از آنها در سايت ها و نشريات تنها با ذکر منبع مجاز ميباشد

تبليغات
مطالب گذشته
ده مطلب تصادفي
آرشيو ماهانه
عضويت و ارسال مطلب
مطالب خود را جهت انتشار در آسان دانلود ارسال نمائید

téléchargement - trasferimento - 下载 - ダウンロード다운로드 - скачать - transferencia directa - μεταφορτώστε - download

دانلود , دانلود نرم افزار , آسان دانلود , دانلود آسان , دانلود , دانولد , داونلود , دانلد , داونلد , کیجن , کرک , سریال , نرم افزار , ویندوز ویستا ، مایکروسافت ویندوز ویستا ، نسخه جدید ویندوز ویستا ، نسخه نهایی ویندوز ویستا ، ویندوز ویستا یولتیمیت ، ویندوز ویستا با کرک ، کرک ویندوز ویستا ، خرید ویندوز ویستا ، فیلم 300 ، دانلود فیلم 300 ، فتوشاپ 10 ، فتوشاپ cs3 ، نورتون 2007 ، دانلود نرم افزار ، دانلود نرم افزار جدید ، دانلود ، آنتی ویروس ، انتی ویروس ، ویندوز ویستا بدون کرک ، ویستا ویندوز ، windows vista , vista activation , windows vista , crack , download , free download , photoshop cs3 10, norton 2007, software , téléchargement, trasferimento, 下载, ダウンロード, 다운로드, скачать, transferencia directa, μεταφορτώστε, nhkg,n


دانلود - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
موبايل
كاريكاتور
آموزش و مقالات
اخبار آي تي
فيلم
لينكدوني