سلام
نیازی به تعریف به صورت override در کلاس فرزند ندارید.
اما اکر نیاز به این دارید که تابع همنام رو در کلاس فرزند با تغییرات تعریف کنید override کنید بهتره، حتی شما میتونید override هم تعریف نکنید که کار جالبی نیست.
هنگامی که تفاوت بود به اینصورت عمل کنید:
class Father
{
public virtual void print()
{
System.Console.WriteLine("Father");
}
}
class Child : Father
{
public override void print()
{
System.Console.WriteLine("Child");
}
}
اما اگر override نکنید به این صورت:
class Father
{
public void print()
{
System.Console.WriteLine("Father");
}
}
class Child : Father
{
public void print()
{
System.Console.WriteLine("Child");
}
}
در مورد دوم کلاس Child تابع print کلاس Father رو مخفی می کنه و تابع print خودش رو اجرا می کنه که بهش Member Hiding گفته میشه که اصلا کار جالبی نیست.