Warning: unlink(/tmp/wordpress-seo.22.5.zip): No such file or directory in /home/nbnltwfd/public_html/wp-admin/includes/class-wp-upgrader.php on line 386

Warning: Cannot modify header information - headers already sent by (output started at /home/nbnltwfd/public_html/wp-admin/includes/class-wp-upgrader.php:386) in /home/nbnltwfd/public_html/wp-content/plugins/dw-question-answer/inc/Posts/Base.php on line 20
آموزش تعریف متد یا تابع در زبان برنامه نویسی دارت
زبان دارت Dart

آموزش تعریف متد یا تابع در زبان برنامه نویسی دارت

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

بدون استفاده از تابع کدهای ما کثیف و پیچیده خواهند بود و حتی شاید برنامه نویسی بدون آنها غیر ممکن باشد.

تابع یا متد در برنامه نویسی چیست؟

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

متد یا تابع یا فانکشن قطعه کدی هست که در بلاکی خارج از بلاک متد اصلی نوشته می شود و سپس فراخوانی می شود.

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

با این کار کدهای خاصیت استفاده دوباره به خود میگیرند.

تعریف تابع در زبان برنامه نویسی دارت

اگر با نحوه ایجاد پروژه آشنا نیستید به مقاله آموزش نصب زبان دارت مراجعه کنید.

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

به عنوان مثال، در زبان دارت که شما از آن در فلاتر استفاده می‌کنید، تعریف تابع به صورت زیر انجام می‌شود:

روش تعریف متد در زبان دارت به شکل زیر می باشد

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 تعریف کردیم که هر پارامتری دریافت کند به علاوه 2 می کند و  ما عدد 3 و به عنوان پارامتر وارد میکنیم چون مقدار int توسط این تابع برگردونده میشه میتونیم مستقیم داخل یک متغیر به نام b ذخیره کنیم. در آخر مقدار 5 به کاربر نمایش داده می شود.


کار با عبارات شرطی در زبان Dart

انواع تابع یا متد در برنامه نویسی

در برنامه‌نویسی، توابع را می‌توان بر اساس ویژگی‌های مختلفی تقسیم بندی کرد.
این تقسیم‌بندی‌ها بر اساس نحوه استفاده از توابع، نوع و تعداد پارامترها، نوع خروجی و ویژگی‌های دیگر صورت می‌گیرد. در زیر، برخی از انواع توابع را توضیح می‌دهم:

  1. توابع بازگشتی (Recursive Functions): توابع بازگشتی توابعی هستند که خود را به‌صورت بازگشتی فراخوانی می‌کنند.
    این توابع برای حل مسائلی که به‌صورت بازگشتی تعریف شده‌اند (مانند محاسبه فاکتوریل یا برش خانه‌های فیبوناچی) مفید هستند.
  2. توابع بدون خروجی (Void Functions): توابعی که هیچ خروجی (return) ندارند و فقط عملیاتی انجام می‌دهند، به عنوان توابع بدون خروجی شناخته می‌شوند. معمولاً این توابع برای انجام عملیات جانبی (مانند چاپ یا تغییرات در حالت برنامه) استفاده می‌شوند.
  3. توابع با پارامترها (Functions with Parameters): توابعی که از پارامترها یا آرگومان‌ها به عنوان ورودی استفاده می‌کنند، به عنوان توابع با پارامترها شناخته می‌شوند. این پارامترها برای انتقال اطلاعات به تابع و استفاده از آن‌ها در اجرای توابع مورد استفاده قرار می‌گیرند.
  4. توابع با خروجی (Functions with Return Value): توابعی که دارای مقدار خروجی (return) هستند و نتیجه‌ی محاسبات را به عنوان خروجی برمی‌گردانند، به عنوان توابع با خروجی شناخته می‌شوند.
    این نتیجه‌ها می‌توانند از هر نوع داده‌ای باشند، مانند اعداد، رشته‌ها، آرایه‌ها و غیره.
  5. توابع با تعداد متغیر پویا (Variable-Length Argument Functions): توابعی که می‌توانند تعداد متغیری از پارامترها را به عنوان ورودی پذیرا باشند، به عنوان توابع با تعداد متغیر پویا شناخته می‌شوند.
    این امکان به برنامه‌نویسان اجازه می‌دهد که تعدادی از پارامترها را اختیاری و اختیاری دیگر را اجباری تعیین کنند.
  6. توابع با مقدار پیش‌فرض (Functions with Default Values): توابعی که برای پارامترها مقدار پیش‌فرض تعیین کرده‌اند، به عنوان توابع با مقدار پیش‌فرض شناخته می‌شوند.
    اگر برنامه‌نویس در فراخوانی تابع برای پارامترها مقداری وارد نکند، مقدار پیش‌فرض مشخص شده برای آن‌ها استفاده می‌شود.

برای آشنایی کامل با زبان برنامه نویسی دارت و Flutter به صورت پروژه محور پیشنهاد ما دوره 0 تا 100 آموزش فلاتر میباشد.

Hesam

Recent Posts

آموزش افزایش سرعت اجرای وب اپلیکیشن های فلاتر

اگر یک برنامه نویس فلاتر هستید و با از نسخه وب اپلیکیشن پروژتون استفاده میکنید…

3 هفته ago

آموزش جامع انتشار اپلیکیشن اندروید و فلاتر در فروشگاه گوگل پلی Google play

به عنوان یک برنامه نویس فلاتر یا اندروید بعد از اتمام پروسه طراحی اپلیکیشن نیاز…

2 ماه ago

دانلود سورس کد رابط کاربری اپلیکیشن فلاتر پروژه پادکست

طراحی رابط کاربری اپلیکیشن پادکست خود را با استفاده از این کیت توسعه UI/UX فلاتر…

2 ماه ago

فایربیس چیست؟ معرفی سرویس ابری Firebase و کاربردهای آن

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

2 ماه ago

آموزش پیاده سازی Method Channel در فلاتر + فیلم

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که این امکان را برای برنامه نویس…

3 ماه ago

بهترین منابع برای آموزش رایگان برنامه نویسی فلاتر در سال 2024

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که به وسیله آن میتوانید برای سیستم…

3 ماه ago

Warning: Cannot modify header information - headers already sent by (output started at /home/nbnltwfd/public_html/wp-admin/includes/class-wp-upgrader.php:386) in /home/nbnltwfd/public_html/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/amp.php on line 100