2017-03-06 79 views
0

我想使用不同的方法名訪問基類中的子類方法,試圖將子類對象的ref分配給基類,但它顯示錯誤。如何在C#中使用不同方法名稱訪問父類中的子類方法

以下是我的示例代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Concepts 
{ 
    class Parent 
    { 
     public void display() 
     { 
      Console.WriteLine("I am in parent class"); 
     } 
    } 

    class children : Parent 
    { 
     public void displayChild() 
     { 
      Console.WriteLine("I am in child class"); 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      children child = new children(); 
      Parent par = new children(); 
      par.displayChild(); 
      child.display(); 
      child.displayChild(); 
      Console.ReadLine(); 
     } 
    } 
} 

在上面的代碼par.displayChild();顯示了一個錯誤。

回答

1

Parent par = new children();創建新實例children,但將其分配給Parent變量。變量類型確定您可以訪問的方法和屬性。 Parent沒有方法displayChild(),因此您收到錯誤消息。

0

當你創建一個Parent對象到一個新children例如,你可以children然後使用displayChild方法。

class Program 
{ 
    static void Main(string[] args) 
    { 
     children child = new children(); 
     Parent par = new children(); 
     (par as children).displayChild(); 
     child.display(); 
     child.displayChild(); 
     Console.ReadLine(); 
    } 
} 
相關問題