PDA

View Full Version : سوال در مورد تفاوت جا به جایی دو کلمه در کلاس



lexical_error
شنبه 21 تیر 1393, 19:50 عصر
سلام دوستان
وقتی که قصد override کردن متدی را داریم باید از virtual و override استفاده کنیم.میخواستم بدونم تفاوت این دو در چی هست؟!

virtual public void func()

public virtual void func()
منظورم جا به جایی کلمه virtual و override هست

plus
شنبه 21 تیر 1393, 20:12 عصر
وقتی یک کلاس بخواد یک متد که قابلیت Override شدن داشته باشه، ایجاد کنه، از Virtual استفاده میکنه. کلاس های مشتق شده از این کلاس، اون متد رو Override میکنن.
یعنی اینکه یک متد مجازی ابتدا باید توسط یک کلاس به صورت Virtual تعریف بشه که این متد میتونه توسط کلاس های مشتق شده override بشه:

class Foo {
public virtual void MyVirtualMethod() {
// Do Something
}
}

class DFoo : Foo {
public override void MyVirtualMethod() {
// Do Something else
}
}

farazjalili
شنبه 21 تیر 1393, 21:06 عصر
با سلام فکر نکنم تفاوتی داشته باشه

elec60
یک شنبه 22 تیر 1393, 09:50 صبح
تفاوتي نداره