我可以在直接子类中访问抽象类的具体方法吗?

时间:2013-04-20 09:48:45

标签: c# .net abstract-class abstraction

有没有办法可以在直接子类中访问抽象类的具体方法,如下所示

  abstract class ParameterBase
  {           
        public void test()
        { 
            string name = "testname";
            console.writeline(name);
        }          
  }

  public  class Parameter1 : ParameterBase 
  {
       //I Need to call(access) the Test() Method here i.e print "testname" in the  console         
  }

现在我知道我们可以创建一个类型为 ParameterBase 的子类的实例,并访问 ParameterBase中的 test()方法)如下

   ParameterBase PB = new Parameter1();
   PB.test();

2 个答案:

答案 0 :(得分:2)

您必须在继承类时保持可访问性级别。你可以这样做:

abstract class ParameterBase
{
    public void test()
    {
        string name = "testname";
        Console.WriteLine(name);
    }
}

class Parameter1 : ParameterBase
{
    void getvalue()
    {
        Parameter1 pb = new Parameter1();
        pb.test();
    }        
}  

答案 1 :(得分:0)

请看一下: -

class Program
{
    static void Main(string[] args)
    {
        Test2 t = new Test2();
        t.display();
        t.absDsisplay();
    }
}

abstract class Test1
{
    public void display()
    {
        Console.WriteLine("display");
    }
    public abstract void absDsisplay();

}
class Test2 : Test1
{

    void GetValu()
    {


    }

    public override void absDsisplay()
    {
        Console.WriteLine("absDisplay");
    }
}