تفاوت Overloading و Overriding در سی شارپ _ آورایدینگ و آور لودینگ
سه شنبه, ۱۱ اسفند ۱۳۹۴، ۰۷:۴۲ ق.ظ
gameover.blog.ir
Overloading یا سربارگذاری:
متد های که نام یکسان دارند اما پارامتر های ورودی متفاوتی دارند، برای مثال public bool Retrieve() و public bool Retrieve(int id) در این مثال متد Retrieve دارای دو overload است. OverLoading زمانی است که شما چند متد همنام در یک محدوده (scope) با امضاهای (signatures) متفاوت دارید .
همچنین Overloading چند ریختی زمان کامپایل (Compile Time Polymorphism) می باشد .
//Overloading public class test { public void getStuff(int id) {} public void getStuff(string name) {} }
Overriding یک اصل یا قانون است که به شما اجازه می دهد تا قابلیت های متدها را در کلاس های مشتق شده تغییر دهید
همچنین Overriding چند ریختی زمان اجرا (Run Time Polymorphism) می باشد.
//Overriding public class test { public virtual getStuff(int id) { //Get stuff default location } } public class test2 : test { public override getStuff(int id) { //base.getStuff(id); //or - Get stuff new location } }
منبع:
http://mazizi.blog.ir/1393/12/04/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-Overloading-%D9%88-Overriding-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE
۹۴/۱۲/۱۱