آموزش تعریف متد یا تابع در زبان برنامه نویسی دارت
یکی از مفاهیم اصلی برنامه نویسی آشنایی با تابع یا متد است که در روند توسعه یک نرم افزار به شکل گسترده ای از انواع آن استفاده میشود.
بدون استفاده از تابع کدهای ما کثیف و پیچیده خواهند بود و حتی شاید برنامه نویسی بدون آنها غیر ممکن باشد.
تابع یا متد در برنامه نویسی چیست؟
بطور کلی، توابع در برنامهنویسی، بخشهایی از کد هستند که با دادههای ورودی کار میکنند و بر اساس آنها محاسباتی انجام میدهند یا عملیاتی انجام میدهند و نتیجه را به عنوان خروجی برمیگردانند.
تعریف توابع باعث میشود کدهای شما به قطعههای کوچکتر و قابلمدیریتتر تقسیم شوند و قابلیت استفاده مجدد و اجرای آنها در نقاط مختلف برنامه را داشته باشید.
متد یا تابع یا فانکشن قطعه کدی هست که در بلاکی خارج از بلاک متد اصلی نوشته می شود و سپس فراخوانی می شود.
از متد ها زمانی استفاده می کنیم که نیاز داریم یک کاری یا کدی چند بار در طول برنامه استفاده شود به همین خاطر با تعریف متد و نوشتن آن کد هر بار که نیاز به انجام آن کار داشتیم فقط نام متد را صدا میزنیم و کد های داخل متد یا تابع برای ما اجرا می شوند.
با این کار کدهای خاصیت استفاده دوباره به خود میگیرند.
تعریف تابع در زبان برنامه نویسی دارت
اگر با نحوه ایجاد پروژه آشنا نیستید به مقاله آموزش نصب زبان دارت مراجعه کنید.
در زبانهای برنامهنویسی مختلف، تعریف تابع به شکلهای مختلفی صورت میگیرد.
به عنوان مثال، در زبان دارت که شما از آن در فلاتر استفاده میکنید، تعریف تابع به صورت زیر انجام میشود:
روش تعریف متد در زبان دارت به شکل زیر می باشد
void function_name() {
//statements
}
کلمه void در ابتدا به این خاطر نوشته شده است که تابع ما هیچ مقداری برنمیگرداند که جلوتر در این باره بیشتر صحبت میکنیم.
function_name هم یک نام دلخواه هست که برای این تابع انتخاب کرده ایم حالا در بلاک اصلی برنامه هروقت به این تابع نیاز داشتیم کافیست با صدا زدن اسم این تابع از آن استفاده کنیم.
function_name();
متد ساده زیر با هر بار صدا زدن یک پیغام و به کاربر نمایش می دهد.
void test() {
print("function called"); }
ما میتونیم به متد هایی که تعریف میکنیم پارامترهای مختلفی پاس بدیم و روی این پارامترها عملیات های مختلف و انجام بدیم. پارامترها باید در هنگام تعریف نام متد داخل پرانتز نوشته شوند
test_param(String n1) {
print(n1);
}
در مثال بالا یک پارامتر از نوع رشته String برای method خودمون تعریف میکنیم که همان پارامتر و به کاربر نمایش میدهیم. نحوه استفاده از method بالا به شکل زیر هست:
void main() {
test_param("123");
}
مثال دیگر در پایین پارامتر داریم که قبل از نمایش یک واحد به آن اضافه می کنیم و سپس به کاربر نمایش می دهیم.
void main() {
test_param(5);
}
test_param(int n1) {
n1++;
print(n1);
}
خب بالاتر گفتیم که کلمه void یعنی این تابع هیچ مقداری برنمیگردونه ولی میتونیم مشخص کنیم که تابع ما یک مقدار از نوع String,int,boolean و… برگردونه. مقدار بازگشتی باید با کلمه کلیدی return مشخص شود.
int plustwo(int a){
return a+2;
}
void main(){
var b = plustwo(3);
print(b);
}
در مثال بالا یک تابع با نام plustwo تعریف کردیم که هر پارامتری دریافت کند به علاوه ۲ می کند و ما عدد ۳ و به عنوان پارامتر وارد میکنیم چون مقدار int توسط این تابع برگردونده میشه میتونیم مستقیم داخل یک متغیر به نام b ذخیره کنیم. در آخر مقدار ۵ به کاربر نمایش داده می شود.
انواع تابع یا متد در برنامه نویسی
در برنامهنویسی، توابع را میتوان بر اساس ویژگیهای مختلفی تقسیم بندی کرد.
این تقسیمبندیها بر اساس نحوه استفاده از توابع، نوع و تعداد پارامترها، نوع خروجی و ویژگیهای دیگر صورت میگیرد. در زیر، برخی از انواع توابع را توضیح میدهم:
- توابع بازگشتی (Recursive Functions): توابع بازگشتی توابعی هستند که خود را بهصورت بازگشتی فراخوانی میکنند.
این توابع برای حل مسائلی که بهصورت بازگشتی تعریف شدهاند (مانند محاسبه فاکتوریل یا برش خانههای فیبوناچی) مفید هستند. - توابع بدون خروجی (Void Functions): توابعی که هیچ خروجی (return) ندارند و فقط عملیاتی انجام میدهند، به عنوان توابع بدون خروجی شناخته میشوند. معمولاً این توابع برای انجام عملیات جانبی (مانند چاپ یا تغییرات در حالت برنامه) استفاده میشوند.
- توابع با پارامترها (Functions with Parameters): توابعی که از پارامترها یا آرگومانها به عنوان ورودی استفاده میکنند، به عنوان توابع با پارامترها شناخته میشوند. این پارامترها برای انتقال اطلاعات به تابع و استفاده از آنها در اجرای توابع مورد استفاده قرار میگیرند.
- توابع با خروجی (Functions with Return Value): توابعی که دارای مقدار خروجی (return) هستند و نتیجهی محاسبات را به عنوان خروجی برمیگردانند، به عنوان توابع با خروجی شناخته میشوند.
این نتیجهها میتوانند از هر نوع دادهای باشند، مانند اعداد، رشتهها، آرایهها و غیره. - توابع با تعداد متغیر پویا (Variable-Length Argument Functions): توابعی که میتوانند تعداد متغیری از پارامترها را به عنوان ورودی پذیرا باشند، به عنوان توابع با تعداد متغیر پویا شناخته میشوند.
این امکان به برنامهنویسان اجازه میدهد که تعدادی از پارامترها را اختیاری و اختیاری دیگر را اجباری تعیین کنند. - توابع با مقدار پیشفرض (Functions with Default Values): توابعی که برای پارامترها مقدار پیشفرض تعیین کردهاند، به عنوان توابع با مقدار پیشفرض شناخته میشوند.
اگر برنامهنویس در فراخوانی تابع برای پارامترها مقداری وارد نکند، مقدار پیشفرض مشخص شده برای آنها استفاده میشود.
برای آشنایی کامل با زبان برنامه نویسی دارت و Flutter به صورت پروژه محور پیشنهاد ما دوره ۰ تا ۱۰۰ آموزش فلاتر میباشد.
دیدگاهتان را بنویسید