C# 请分享一个场景,其中始终使用C中的派生类对象调用基类方法#
我希望输出为:- “我是一个人” 是否可以在不使用base关键字的情况下使用virtual和overrideC# 请分享一个场景,其中始终使用C中的派生类对象调用基类方法#,c#,inheritance,polymorphism,C#,Inheritance,Polymorphism,我希望输出为:- “我是一个人” 是否可以在不使用base关键字的情况下使用virtual和override 这意味着我想使用派生类对象作为im main()方法来调用基方法。然后从教师中删除ShowInfo方法。。。输出将是“我是人”这是教师提出的一种挑战:“不要使用base关键字,从Mainmethod”显示“我是人”还是什么?您正在寻找:public new void ShowInfo()中的教师与((Person)教师)一起显示ShowInfo()?分享你的研究成果对每个人都有帮助。告诉
这意味着我想使用派生类对象作为im main()方法来调用基方法。然后从教师中删除ShowInfo方法。。。输出将是“我是人”这是教师提出的一种挑战:“不要使用
base
关键字,从Main
method”显示“我是人”还是什么?您正在寻找:public new void ShowInfo()
中的教师与((Person)教师)一起显示ShowInfo()代码>?分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!也看到
class Program
{
static void Main(string[] args)
{
Teacher Teacher= new Teacher();
Teacher.ShowInfo();
Console.ReadLine();
}
}
public class Person
{
public virtual void ShowInfo()
{
Console.WriteLine("I am Person");
}
}
public class Teacher : Person
{
public override void ShowInfo()
{
Console.WriteLine("I am Teacher");
}
}
class Program
{
static void Main(string[] args)
{
Teacher Teacher = new Teacher();
((Person)Teacher).ShowInfo(); //"I am Person"
Teacher.ShowInfo(); //"I am Teacher"
Console.ReadLine();
}
}
public class Person
{
public virtual void ShowInfo()
{
Console.WriteLine("I am Person");
}
}
public class Teacher : Person
{
public new void ShowInfo()
{
Console.WriteLine("I am Teacher");
}
}