دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

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

مفهوم 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(); } } }
 

شکل کلی یک برنامه به زبان سی شارپ

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

در اینجا ساختار کلی و اصلی یک برنامه ( البته با بخشی از اجزاءاصلی ) نمایش داده می شود . دانستن این قالب کلی در روند یادگیری برنامه نویسی و فهم یک برنامه به شما کمک می کند .

 اولین خط برنامه اعلام می کند که برنامه برای اجرا شدن به چه چیزهایی احتیاج دارد .
این برای آن است که برای اجرای هر برنامه ای لازم نباشد تا تمام قابلیتها و امکانات مورد نیاز همراه یک برنامه ذخیره گردد که این امر باعث افزایش بیش از حد کلیه برنامه ها می گردد .
در عوض شرکت مایکروسافت برای رفع این نقیصه تدبیری اندیشیده که تمام امکانات و قابلیت هایی که همه برنامه هاعموما به آن نیاز دارند در یک مجموعه ارائه گردد این مجموعه که تحت عنوان دات نت (net.) معرف حضور شما می باشد در واقع بخش از آن همان فایل های (dll)است که در درایو سی شما موجود است گاهی اوقات که بر نامه ای روی سیستم شما قابل نصب نیست به دلیل عدم وجود این فایل ها بر روی سیستم شما می باشد یعنی وقتی برنامه به سیستم عامل اعلام می کند که برای اجرا شدن به این امکانات احتیاج دارم در صورت وجود ، سیستم عامل آنها را در اختیار برنامه قرار می دهد ولی در صورت عدم وجود این فایلها بر روی سیستم شما ، پیام خطایی به کاربر نمایش داده می شود مبنی بر اینکه این برنامه بر روی این سیستم قابل اجرا نمی باشد.
خط دوم فضای نام است این قسمت که در واقع نام اصلی برنامه ساخته شده شما نیز محسوب می گردد اصطلاحا فضایی است که کل برنامه در آن اجرا می شود و تمام اجزاء هر برنامه ای زیر مجموعه این فضا می باشند .
خط سوم معرفی کلاس برنامه است. (class) مفهومی در برنامه نویسی است که هر برنامه نویسی باید کاملا با آن و کاربردهایش آشنایی داشته باشد. زیرا تقریبا هیچ برنامه ای وجود ندارد که از وجود یک یا چند کلاس خالی باشد . درباره مفهوم کلاس باید گفت که کلاس مفهومی است که با بوجود آمدن زبان های شیء گرا متولد گردید .
زبان های شیء گرا زبان هایی هستند که برای راحتی کار برنامه نویسی ، تمام اجزاء یک برنامه را به اشیاء واقعی شبیه می دانند و با آنها شبیه دنیای واقعی برخورد می کنند.حال در یک برنامه تمام این اشیاءدر کلاس ها بوجود می آیند. بعنوان مثال یک کلاس همچون نقشه یک ساختمان است که ما می توانیم به کمک آن هر تعداد خانه واقعی که بخواهیم بسازیم که این خانه های ساخته شده واقعی اصطلاحا در برنامه نویسی شیء(آبجکت )می گویند.
در برنامه نویسی شیء گرا، به هر آبجکت ساخته شده از روی یک کلاس اصطلاحاً Instance یا «نمونه» گفته شده می شود. که البته این نمونه های ساخته شده در عین حالی که همگی از روی یک کلاس ساخته شده اند می توانند با همدیگر تفاوت هایی از نظر اندازه رنگ تعداد اطاق و غیره داشته باشند.
( فعلا بیشتر از این راجع به مفهوم کلاس لازم نیست )
این برنامه که از نوع کنسول می باشد دارای یک تابع اصلی (Main) می باشد که هنگام شروع هر برنامه کنسول از آنجا شروع به انجام عملیات خواسته شده در آن می کند.
درون این تابع دو در واقع شما دو شکل خط می بینید دو تا از آنها به رنگ سبز می باشد .
مانند // Output of text to the user
و      // Waiting for Enter

این دو خط از نظر اجرائئ نقشی در برنامه ایفا نمی کنند و فقط توضیحاتی برای خود برنامه نویس بوده تا مانع از فراموشی عملکرد کدهای نوشته شده باشند که البته این توضیحات قطعا در برنامه های بسیار بزرگ ضرورت انکار ناپذیری پیدا می کنند.
تنها کدهای اجرایی این برنامه در دو خط که با کلمه (.Console)وجود دارند در خط اول که پس از کلمه کنسول و گذاشتن نقطه کلمه (WriteLine) آمده از سیستم می خواهد که عبارتی را بر روی صفحه مانیتور بنویسد .تنها عبارتی که با اجرای این فرمان در مانیتور نمایش داده خواهد شد عبارتی است که در بین دو علامت " " دیده می شود .
و پس از سیستم با دستور (ReadLine)منتظر خواندن خط بعدی می ماند که البته با زدن اینتر وقتی که خط بعدی توسط سیستم خوانده می شود بخاطر اینکه چیزی در آنجا نیست از برنامه خارج می گردد.
راجع به آکولادها (کرولی براکت ها) تعیین کننده حوزه عملیات هر قسمت از برنامه می باشند و در زبان سی شارپ ملزم به استفاده از آنها می باشیم.

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();
       }
   }
}