تبلیغات
میهن وب هاست

آموزش سی شارپ – توابع پیشرفته

نویسنده : امیر

نظرات : ۰ دیدگاه

بازدید : ۳۷۴ بازدید

تاریخ : ۰۸ مهر ۱۳۹۶

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

 

حتما قبل از بررسی توابع پیشرفته در سی شارپ نوشته ی مطالب قبلی این دوره ی آموزشی را با هشتگ #دوره آموزشی_سی_شارپ در سایت ما را مطالعه کنید.

 

Return کردن object از متد:

در برنامه‌ی زیر کلاسی به اسم Person وجود دارد که در این کلاس متدی به اسم ()CreateNewPerson است که یک شیء از جنس Person می‌سازد و این شیء را return می‌کند:

 

Return کردن یک آرایه:

گاهی شما از یک متد وظیفه ی بازگشت آرایه را دارید که در مثال زیر متد GetFriends() در کلاس Person انجام خواهد شد :

 

معرفی Method Overloading:

مفهوم Method Overloading در واقع به این معناست که چندمتد می‌توانند نام یکسانی داشته باشند، به‌شرطی که تعریف و یا تعداد پارامتر های آن‌ها متفاوت باشد؛ در این‌ موارد گفته می‌شود که متدها overload شده‌اند و درکل به این پروسه method overloading گفته می‌شود. و یکی از جنبه‌های اجرای polymorphism (چند ریختی) است.

مثال :

در بالا ما چندین ورژن از متد ()Addition را داریم که هر کدام از نظر نوع و تعداد پارامترها با بقیه متفاوت است و همچنین return-type آن‌ها هم می‌تواند متفاوت باشد. توجه کنید که overload کردن به شکل زیر کاملاً نادرست است زیرا تعداد و نوع پارامترهای متناظر یکی است:

 

مفهوم Overload Constructors:

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

overload کردن constructor های کلاس، این امکان را می دهد که object ها به طرق مختلفی بتوانند ساخته شوند.

 

درخواست یک overloaded constructor از طریق this:

هنگامی‌که با constructor های overload شده کار می‌کنید، یک constructor می‌تواند، constructor دیگری را درخواست کند. این‌کار از طریق کلمه‌کلیدی this انجام می‌شود و فرم کلی آن به‌شکل زیر است:

در این‌جا ابتدا با توجه به parameter-list2 یکی از constructor های overload شده اجرا می‌شود و سپس اگر کدی درون constructor اصلی (constructor اولیه) وجود داشته باشد، اجرا می‌شود.به مثال زیر توجه کنید:

مثال :

به این نکته توجه کنید، پارامترهایی که بعد از this می‌آیند مشخص می‌کنند که کدامین constructor باید در ابتدا اجرا شود. مثلاً برای ()AlphaBeta که خودش پارامتری ندارد، (this(0, 0 دو عدد integer دارد و مشخص می‌کند که ابتدا باید آن constructor ای اجرا شود که دو پارامتر int دارد. بنابراین ابتدا محتویات (AlphaBeta(int i, int j اجرا شده و سپس محتویات ()AlphaBeta اجرا می‌شود؛ در مورد (AlphaBeta(AlphaBeta obj نیز مراحل به‌ترتیب قبل است. (This(obj.Alpha, obj.Beta دو عدد int گرفته است بنابراین ابتدا محتویات (AlphaBeta(int i, int j اجرا شده و سپس محتویات (AlphaBeta(AlphaBeta obj اجرا می‌شود. یکی از مزایای این کار این است که از کدنویسی اضافی جلوگیری می‌کند. با این‌کار شما دیگر در هر constructor نیاز ندارید که برای مقداردهی به Alpha و Beta کد تکراری بنویسید.

مثال:

برای استفاده از تمامی جلسات از هشتگ #دوره آموزشی_سی_شارپ در سایت ما استفاده کنید.

منتظر جلسه ی بعدی دوره آموزشی سی شارپ باشید.

موفق و پیروز باشید.

با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code

مطالب زیر را از دست ندهید: