javady_joon
یک شنبه 19 مهر 1394, 19:34 عصر
با سلام من دارم #C یاد می گیرم و به مطلب چند ریختی رسیدم اما هر چه که می خونم متوجه نمی شم بببینید منت اینجوری فهمیدم که وقتی می خوایم از یک متد چند بار استفاده های گوناگونی کنیم از این روش استفاده می کنیم طبق مثالی که خود مطالب زدن مثلا میان توی کلاس پایه A یک متد تعریف می کنند مثلا
class A
{
public virtual void show()
{
console.writeln (" I am first method ");
}
}
انوقت میاد در کلاس مشتق به این شکل می نویسند
class B : A
{
public override void show()
{
console.writeline (" I am tow method");
}
}
خوب حالا میان توی Main متد ها رو فذاخونی می کنند که شما استادید دیگه
void main()
{
A str = new A();
B str2 = new B();
str.show();
str2.show();
console.ReadKey(); // برای خالی نبودن عریضه که خروجی وایسه تا ببینیم
}
خوب حالا وقتی برنامه رو اجرا می کنیم دو رشته مورد نظر اجرا میشهاما خوب بدون کلمات کلیدی Override و Virtcual هم برنامه دو رشته رو چاپ می کنه البته با یک warning که این هستالبته اینجا متد نام کلاس ها فرق می کنه
http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=3618121828137061970
می خوام بدونم یعنی این دو کلمه فقط برای جلوگیری از این Warning میان وسط؟من خیلی تلاش کردم که فرق بود و نبود این دو رو بدونم ولی متاسفانه همه منابع فارسی از روی هم کپی - پیست کردن و مطالب تازه ای برای درک بهتر موضوع ارائه ندادن .این هم یک نمونه دیگر از Warning در این برنامه متغیر ها جواب میدن
http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=10933618128240578451
پیشاپیش از کمکتون تشکر می کنم و ممنون میشم که سوای منابع موجود با زبانی ساده تر مفهوم را توضیح دهید.
class A
{
public virtual void show()
{
console.writeln (" I am first method ");
}
}
انوقت میاد در کلاس مشتق به این شکل می نویسند
class B : A
{
public override void show()
{
console.writeline (" I am tow method");
}
}
خوب حالا میان توی Main متد ها رو فذاخونی می کنند که شما استادید دیگه
void main()
{
A str = new A();
B str2 = new B();
str.show();
str2.show();
console.ReadKey(); // برای خالی نبودن عریضه که خروجی وایسه تا ببینیم
}
خوب حالا وقتی برنامه رو اجرا می کنیم دو رشته مورد نظر اجرا میشهاما خوب بدون کلمات کلیدی Override و Virtcual هم برنامه دو رشته رو چاپ می کنه البته با یک warning که این هستالبته اینجا متد نام کلاس ها فرق می کنه
http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=3618121828137061970
می خوام بدونم یعنی این دو کلمه فقط برای جلوگیری از این Warning میان وسط؟من خیلی تلاش کردم که فرق بود و نبود این دو رو بدونم ولی متاسفانه همه منابع فارسی از روی هم کپی - پیست کردن و مطالب تازه ای برای درک بهتر موضوع ارائه ندادن .این هم یک نمونه دیگر از Warning در این برنامه متغیر ها جواب میدن
http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=10933618128240578451
پیشاپیش از کمکتون تشکر می کنم و ممنون میشم که سوای منابع موجود با زبانی ساده تر مفهوم را توضیح دهید.