我如何从子类中调用从父类继承的父函数?

时间:2018-07-19 10:53:10

标签: c# inheritance

我当前正在处理一个函数,我想从该函数中调用要传递给该函数的孩子的父函数。

但似乎无法访问父级中的函数。一切都是在父类中公开的。

所以为什么不能从子类访问父函数。

示例:

public class Parent 
{
    public parent();
    public void oblige();

}

public class child : parent
{
    public child();
    public void work();
}


public class house
{
    public house();
    public void child_labour(Child child)
    {
        //child.base.parent.oblige()?       
    }
}

2 个答案:

答案 0 :(得分:0)

尝试一下:

<div class="row">
  <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12 pad">
    <div class="check">
      <div class="out">
        <div class="gr">Technology</div>
        <div class="bl">
          <button type="button" class="btn btn-lg btn-primary">Start Quiz</button>
          <br>
          <button type="button" class="btn btn-lg btn-primary">Read Post</button>
        </div>
      </div>
    </div>
  </div>
  <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12 pad">
    <div class="check">
      <div class="out">
        <div class="gr">General Knowldege</div>
        <div class="bl">
          <button type="button" class="btn btn-lg btn-primary">Start Quiz</button>
          <br>
          <button type="button" class="btn btn-lg btn-primary">Read Post</button>
        </div>
      </div>
    </div>
  </div>
  <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12 pad">
    <div class="check">
      <div class="out">
        <div class="gr">Sports</div>
        <div class="bl">
          <button type="button" class="btn btn-lg btn-primary">Start Quiz</button>
          <br>
          <button type="button" class="btn btn-lg btn-primary">Read Post</button>
        </div>
      </div>
    </div>
  </div>
</div>

运行时,您会收到“ CallOblige”

p.s。您需要检查C#语法,正如我看到的那样,您将学到太多愚蠢的错误。 例如,您不需要默认的构造函数。 祝一切顺利!

答案 1 :(得分:-1)

首先,如果您必须编写构造函数,则方法至少要包含空括号。这样。

public class Parent
{
    public Parent()
    {

    }

    public void Oblige()
    {

    }
}

您应该阅读this article的第二篇,以理解访问的基本原理。

代码示例:

class Program
{
    static void Main(string[] args)
    {
        House house = new House();
        Child child = new Child();
        house.child_labour(child);
    }
}

public class Parent
{
    public Parent()
    {

    }

    public void Oblige()
    {
        Console.WriteLine("Hello world");
    }
}

public class Child : Parent
{
    public Child()
    {

    }

    public void Work()
    {

    }
}


public class House
{
    public House()
    {

    }

    public void child_labour(Child child)
    {
        child.Oblige();
    }
}