مفهوم overloading به زبان ساده در برنامه نویسی :
گاهی اوقات ممکن است شما بخواهید متدی با یک نام منحصر به فرد داشته باشد که با آن ، بر روی دو نوع داده یک عملیات مشابه انجام دهید (مثلا عملیات جمع) . همانطور که می دانید به دلیل متفاوت بودن نوع داده ها اینکار ممکن نیست . و بطور معمول ما سراغ دو متد با نام های متفاوت می رویم . شبیه آنچه در پایین می بینید .
static int PlusMethodInt(int x, int y)
{
return x + y;
}
static double PlusMethodDouble(double x, double y)
{
return x + y;
}
همانطور که می بینید ما از دو متد با نام های متفاوت استفاده می کنیم که اندکی ناخوشآیند است .ولی می توان کاری کرد که به هدفمان یک قدم نزدیکتر شویم و آن استفاده از overloading است overloading به این صورت است که شما در واقع دو متد را با یک نام تعریف می کنید ولی تفاوت این دو متد در نوع پارامترها و آرگومان های آنهاست. شبیه آنچه در پایین می بینید
static int PlusMethod(int x, int y)
{
return x + y;
}
static double PlusMethod(double x, double y)
{
return x + y;
}
با این کار در واقع ما با استفاده از یک نام مشترک اعدادی از نوع (int) را با همدیگر ، و همچنین اعدادی از نوع (double) را نیز با همدیگر جمع می کنیم و نیازی به استفاده از دو اسم متفاوت نداریم.
یک برنامه حاوی قسمت های زیر است .
1 . معرفی فضای نام . ( Namespace declaration )
2 . کلاس . ( class )
3 . متدها . ( methods )
4 . ویژگیها ( attributes )
5 . متد اصلی . ( Main method )
6 . عبارات و اصطلاحات . ( Statements and Expressions )
7 . توضیحات . ( Comments )
-------------------------------
یک نمونه برنامه که فقط عبارت ( Hello World ) را نمایش می دهد . ( این برنامه از نوع کنسول می باشد )
- خط اول برنامه ( using System ) است که کلید واژه ای است برای وارد کردن فضای نام سیستم به برنامه .
- خط دوم معرفی یک فضای نام است . فضای نام مجموعه ای از کلاس ها ست .
- خط سوم معرفی کلاس (HelloWorld) است . کلاس ها عموما دارای چندین متد می باشند . متدها رفتار کلاس را مشخص می کنند . در اینجا کلاس (HelloWorld) دارای متد (Main) یعنی متد اصلی برنامه می باشد.
- خط چهارم بیان متد (Main) است . متد (Main) جایی است که تمام برنامه های (#C) از آنجا شروع می شود .
- خط پنجم (/* --------- */) یک (Comments) یا توضیح است که کمپایلر آن را نادیده می گیرد .
- درخط ششم که در واقع رفتار متد (Main) را نشان می دهد ، (WriteLine) پیام (Hello World) را روی صفحه نمایش می دهد .
- در خط هفتم که شامل رفتار دیگری از متد (Main) است ، (ReadKey) باعث جلوگیری از بسته شدن سریع برنامه پس از اجرا می شود و برنامه را منتظر فشرده شدن کلیدی توسط کاربر نگه می دارد .
تذکر : تمام (statements) باید با یک ( ; ) به پایان برسند.
*** برخلاف جاوا نام برنامه می تواند با نام کلاس متفاوت باشد.
using System; namespace HelloWorldApplication
{ class HelloWorld { static void Main(string[] args)
{ /* my first program in C# */ Console.WriteLine("Hello World"); Console.ReadKey(); } } }
اولین قدم در آشنایی با زبان برنامه نویسی آشنایی با ساختار کلی و اجزاء یک برنامه می باشد . البته تمام اجزاء یک برنامه را نمی توان با یک مثال نمایش داد این اتفاقی است که با مثالهای متعدد روشن می گردد.
در اینجا ساختار کلی و اصلی یک برنامه ( البته با بخشی از اجزاءاصلی ) نمایش داده می شود . دانستن این قالب کلی در روند یادگیری برنامه نویسی و فهم یک برنامه به شما کمک می کند .
using System;
namespace My_first_program
{
class program
{
static void Main(string[] args)
{
// Output of text to the user
Console.WriteLine( " welcome to c# . "
);
//Waiting for Enter
Console.ReadLine();
}
}
}