بازدید: ٧٩٧

متدها در سوئیفت (آموزش Swift)

بازگشت به صفحه اصلی آموزش سوییفت (Swift)

متدها در سوئیفت

در زبان سوئیفت توابع مربوط به یک نوع(type) خاص را به نام متدها می شناسند. از کلاسهای Objective C برای تعریف متدها استفاده می شود، در حالیکه زبان سوئیفت این امکان را برای کاربر فراهم می آورد تا از متدها برای کلاسها، ساختمان ها و داده های شمارشی استفاده کند.

 

متدهای نمونه

 

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

استفاده از آنها برای دسترسی و تغییر خصوصیات نمونه

قابلیتهایی مرتبط با نیازهای نمونه

متد نمونه می تواند در درون یک جفت آکولاد {} نوشته شود. متد امکان دسترسی بی قید و شرط به متدها و خصوصیات نمونه type را  دارد. هنگامی که یک نمونه خاص از type فراخوانی می شود، امکان دسترسی به آن نمونه خاص نیز فراهم می شود.

 

نحوه نوشتن یک متد


متدها در سوئیفت

 

مثال


مثال1 متد در سوئیفت

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


جواب مثال 1 متدها

 

محاسبات کلاس دو متد نمونه را تعریف می کند:

Init() برای جمع دو عدد a  و b و ذخیره آن در یک مقدار نتیجه res تعریف می شود.

Tot() برای تفریق مقدار res از مقدار c استفاده می شود.

در خاتمه برای نمایش محاسبات، متدهایی با مقادیری برای a و b فراخوانی می شوند. برای دسترسی به متدهای نمونه می توانید از ‘.’ استفاده کنید.

 

اسامی پارامتری خارجی و محلی

 

توابع سوئیفت هر دوتعریف محلی و همگانی را برای مقادیر خود شرح می دهند. شبیه به آن، قراردادهای نامگذاری متدهای سوئیفت شبیه به قراردادهای نامگذاری Objective C هستند. ولی مشخصات تعریفهای نامگذاری برای پارامترهای همگانی و محلی برای توابع و متدها با یکدیگر فرق دارند. برای رجوع به  اولین پارامتر در سوئیفت از اسامی حروف اضافه with، for و by استفاده می شود. اینکار برای دسترسی آسان به قراردادهای نامگذاری انجام می شود.

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


مثال2 متدها در سوئیفت

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


جواب مثال 2 متدها

 

نام گذاری پارامتر خارجی با استفاده از علامت های # و _

 

اگرچه متدهای سوئیفت اولویت اسامی پارامترها را برای تعریف محلی ارائه می دهند، ولی کاربر امکان تغییر اسامی پارامترها را از تعریف محلی به همگانی دارد. اینکار را می توان با پیشوند قرار دادن علامت # در نامگذاری اولین پارامتر انجام داد. با انجام اینکار، می توان از طریق مدل ها بصورت همگانی به اولین پارامتر دسترسی داشت.

هنگامیکه کاربر باید به اسامی پارامتری بعدی از طریق یک نام خارجی دسترسی پیدا کند، نام متدها با کمک علامت ‘-‘ override می شوند.


مثال3 متدها

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


جواب مثال 3

خصوصیت Self Property در متدها

 

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

 

مثال 4 متدها
 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:

 

جواب مثال 4 متدها

 

تغییر انواع مقادیر از متدهای نمونه

 

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


متدهای تایپ

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:

 

جواب متدها

 

استفاده از self Property برای تغییر متد

 

تغییر متدها که با خصوصیت self ترکیب شده اند، نمونه جدیدی را به متد تعریف شده تخصیص می دهد.


مثال سلف پروپرتی متدها

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


جواب سلف پروپرتی متدها

 

متدهای Type

 

هنگامی که یک نمونه خاص از یک متد فراخوانی می شود، بعنوان یک متد نمونه نامیده می شود و هنگامی که متد نوع خاصی از متدی را فراخوانی می کند، بعنوان متدهای Type نامیده می شود. متدهای type توسط کلمه کلیدی func برای کلاسها تعریف می شوند و متدهای نوع ساختمانها و داده های شمارشی قبل از کلمه کلیدی func، توسط کلمه کلیدی static تعریف می شوند.

متدهای type با استفاده از کاراکتر ‘.’ فراخوانی و در دسترس می باشند. به جای فراخوانی یک نمونه خاص، کل متد درگیر می شود.


متد تایپ

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:

 

جواب متد تایپ

 

 

 

بازگشت به صفحه اصلی آموزش سوییفت (Swift)

طراحی سایت و سئو توسط ضابط