2015-03-25 60 views
-5
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"); 
    } 
} 

我想輸出: - 「我是人」請共享一個場景,總是在C#中使用派生類對象調用基類的方法

是否可以使用虛擬和不使用基本覆蓋關鍵詞。

這意味着我想通過使用派生類對象作爲創建的IM main()方法來調用基方法。

+0

然後,只需要從教師ShowInfo方法...輸出將是「我是人」 – puko 2015-03-25 11:29:27

+0

它是一種由老師給定的挑戰:*「不使用'base'關鍵詞,顯示」我我是誰「從'主要方法'*或什麼? – Sinatr 2015-03-25 11:34:18

+0

你是否在尋找''public new void ShowInfo()'in'Teacher' with(((Person)Teacher).ShowInfo();'? – 2015-03-25 11:34:38

回答

0
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"); 
    } 
} 
相關問題