PDA

View Full Version : OverLoad



champion
چهارشنبه 25 مرداد 1385, 21:29 عصر
سلام دوستان
من یک سوال داشتم در مورد Overload و اینکه چرا دلفی اجازه تعریف 2 متد با نام یکسان در تعریف کلاس را نمیدهد و هنگام کامپایل یکی را حذف میکند ظاهرا متد را باید در کلاسهایی که مشتق شده اند Overload ;vn منون میشم اگه کسی سوال منو جواب بده

Delphi Skyline
چهارشنبه 25 مرداد 1385, 22:39 عصر
برای تعریف باید در قسمت تعریف کلاس مثلا در قسمت public متد ها رو بنویسی و جلوشون بنویسی OVERLOAD; بعد حتما باید متد ها رو بنویسی به صورت زیر ::


a = class(TComponent)
public
// procedure aa(i : integer);overload;
function aa : string;overload;
function aa(i : integer) : INTEGER;overload;
end;

function a.aa : string;
begin

end;

function a.aa(i : integer) : INTEGER;
begin

end;

Delphi_OnLine999
پنج شنبه 26 مرداد 1385, 00:59 صبح
درسته با استفاده از کلمه کلیدی overload می توان چندین متد هم نام با پارامتر های متمایز ایجاد کرد.
از کلمه کلیدی override هم زمانی استفاده می شود که یک متد که به ارث برده می شود توسط یک کلاس را بتوان جایگزین کرد در کلاس فرزند.

champion
جمعه 27 مرداد 1385, 11:19 صبح
دوستان ممنون که جواب دادین اما جواب من این نبود در کلاسهایی که از یک کلاس دیگر مشتق میشوند باید با استفاده از کلمه introduce متد ها را Overload کرد و اگر این موضوع برای کسی جالب بود من میتونم توضیح بیشتری بهش بدم

champion
جمعه 27 مرداد 1385, 11:19 صبح
دوستان ممنون که جواب دادین اما جواب من این نبود در کلاسهایی که از یک کلاس دیگر مشتق میشوند باید با استفاده از کلمه introduce متد ها را Overload کرد و اگر این موضوع برای کسی جالب بود من میتونم توضیح بیشتری بهش بدم