Method Overloading چیست؟
#1
Note 
سلام
در خیلی از زبان های برنامه نویسی امکان داشتن چند متد یا تابع با نام یکسان وجود داره و سی شارپ هم جزو اون برنامه های برنامه نویسیه

شما تو سی شارپ در صورتی میتونید چند تابع هم نام ایجاد کنید (اصطلاحا overload کنید) که این دو شرط رو برقرار کنید:

1- نوع پارامترهای تابع متفاوت باشد

2- تعداد پارامترها متفاوت باشد

خود سی شارپ هم در خیلی موارد از overloading استفاده کرده مثلا شما با نوشتن messagebox.show( میتونید همه overload ها رو ببینید یعنی N عدد متد با پارامترهای مختلف ایجاد شده.

به تصویر توجه کنید:

[ATTACH=CONFIG]321[/ATTACH]
ریفرنس خارجی:
کد:
http://csharp.net-tutorials.com/classes/method-overloading/#.UIO6xlKYO_I


و یه مثال ساده:

کد php:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

//SoftAfzar.net | Share Your Computer Science!//

namespace WindowsFormsApplication1
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
            
InitializeComponent();
        }

        
#region توابع محاسبه فاکتریل

        /// <summary>
        /// این تابع فاکتریل
        /// یک عدد صحیح را محاسبه میکند
        /// منبع: سافت افزار! C#
        /// </summary>
        /// <param name="n"></param>
        /// <returns>Fact</returns>
        
private long Fact(int n)
        {
            if (
== 0) return 1;
            else return 
Fact(1);
        }


        private 
long Fact(long n)
        {
            if (
== 0) return 1;
            else return 
Fact(1);
        }

        
#endregion

        
private void button1_Click(object senderEventArgs e)
        {
            
MessageBox.Show(Fact(5).ToString());
        }

        
    }

[ATTACH=CONFIG]322[/ATTACH]


انتشار مطلب با ذکر منبع مانعی ندارد.
موفق باشید

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note partial method در #C taha 0 274 10-10-2013 ساعت 11:45
آخرین ارسال: taha
Note سوال Base64 چیست؟ The Arrow 1 896 27-09-2013 ساعت 14:15
آخرین ارسال: THE KNIGHT
Note سوال تفاوت public static و static public در چیست؟ The Arrow 1 470 22-09-2013 ساعت 15:24
آخرین ارسال: Daniel
Note سوال : مبنای تغییر ورژن یک برنامه یا یک کتابخانه در چیست؟ The Arrow 1 383 16-09-2013 ساعت 13:25
آخرین ارسال: SAMAN ELITE
Note تفاوت var با int در سی شارپ چیست؟ The Arrow 1 605 15-08-2013 ساعت 20:49
آخرین ارسال: SOFTAFZAR
Note سوال CheckForIllegalCrossThreadCalls چیست؟ سی شارپ The Arrow 1 597 02-08-2013 ساعت 20:25
آخرین ارسال: Ali Developer
Note تریگر چیست؟ +مثال و پروژه نمونه SOFTAFZAR 0 1,087 19-12-2012 ساعت 22:36
آخرین ارسال: SOFTAFZAR

کاربرانِ درحال بازدید از این موضوع:   1 مهمان