在C#中,子类对象如何直接调用被重写的超类方法?

迈尔·查查达(Mehul Chachada)

我今天在C#中学习一些OOP概念,并且在学习过程中发现子类Object可以直接从其超类重写被调用的方法,我对Java很熟悉,在Java中,如果从其超类重写方法如果子类对象正在调用相同的方法,则执行子类中存在的方法,而不执行父类方法,而使用“ super”关键字。

我的问题是C#如何提供直接允许子类对象执行被覆盖的超类方法的功能。

下图是代码,其中子类对象“ obj”允许我通过提供选项“ void Super.display”来调用超类方法display

代码图片

哈比卜

从图像中,您没有override基类中的方法,而是隐藏了方法

使用方法隐藏,您无法像从屏幕截图中那样从子类中调用基类方法:

屏幕截图中的代码。

Sub obj = new Sub();
obj.display();// this will call the child class method

Super.display智能的引用可能是错误的,您不能像这样从基类中调用隐藏方法。

(此外,new由于方法隐藏,您还应该获得使用关键字的警告

为了实现适当的覆盖,您在基类中的方法必须为virtualabstract类似:

public class Super
{
    public virtual void display()
    {
        Console.WriteLine("super/base class");
    }
}

public class Sub : Super
{
    public override void display()
    {
        Console.WriteLine("Child class");
    }
}

然后可以这样称呼它:

Super obj = new Sub();
obj.display(); //child class

Super objSuper = new Super();
objSuper.display(); //base class method

如果要从子类内部调用基类方法,请使用如下base关键字:

public override void display()
{
    base.display();
    Console.WriteLine("Child class");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从重写的子类方法调用超类的继承方法?

来自分类Dev

当子类对象存储在超类数组中时,如何调用子类方法?

来自分类Dev

如何在Java中强制调用超类实现Object.toString()而不是子类重写对对象的实现

来自分类Dev

如何在Java中强制调用超类实现Object.toString()而不是子类重写对对象的实现

来自分类Dev

从超类对象数组中调用子类方法

来自分类Dev

当子类调用超类的方法时,如何获得超类来引用子类中的属性?

来自分类Dev

如何在Java中从超类调用子类方法?

来自分类Dev

您如何在Java中从超类调用子类方法?

来自分类Dev

在向量C ++中从超类调用子类方法

来自分类Dev

如何使超类中的方法创建子类对象?

来自分类Dev

防止任何子类重写/隐藏方法c#; 保留超类的方法签名

来自分类Dev

如何决定从父类或子类中调用子类中的重写方法?

来自分类Dev

如何使用最终方法PHP防止子类重写超类

来自分类Dev

当子类重写方法时,我们如何确保在编译时调用超类的方法实现?

来自分类Dev

即使对象是子类也被调用超类方法

来自分类Dev

如何在C#的父类方法中调用子类的字段

来自分类Dev

当对象是子类类型时,为什么我不能从超类调用子类中的公共方法?

来自分类Dev

从基类C#调用子类方法

来自分类Dev

Python-如何从子类实例调用超类的方法?

来自分类Dev

如何检查目标C中的类级别方法是在超类中还是在子类中?

来自分类Dev

超类引用无法在Java中调用子类方法

来自分类Dev

从 Java 中超类类型的 ArrayList 调用子类方法

来自分类Dev

如何在Java中通过超类实例调用子类方法?

来自分类Dev

在Objective-C中强制子类调用其超类方法

来自分类Dev

将子类中的对象放入超类类型的数组后如何调用子类方法?

来自分类Dev

在C ++中调用Helper类的重写方法

来自分类Dev

在超类列表中查找子类成员。C#

来自分类Dev

在超类列表中查找子类成员。C#

来自分类Dev

从子类调用超类的方法

Related 相关文章

  1. 1

    如何从重写的子类方法调用超类的继承方法?

  2. 2

    当子类对象存储在超类数组中时,如何调用子类方法?

  3. 3

    如何在Java中强制调用超类实现Object.toString()而不是子类重写对对象的实现

  4. 4

    如何在Java中强制调用超类实现Object.toString()而不是子类重写对对象的实现

  5. 5

    从超类对象数组中调用子类方法

  6. 6

    当子类调用超类的方法时,如何获得超类来引用子类中的属性?

  7. 7

    如何在Java中从超类调用子类方法?

  8. 8

    您如何在Java中从超类调用子类方法?

  9. 9

    在向量C ++中从超类调用子类方法

  10. 10

    如何使超类中的方法创建子类对象?

  11. 11

    防止任何子类重写/隐藏方法c#; 保留超类的方法签名

  12. 12

    如何决定从父类或子类中调用子类中的重写方法?

  13. 13

    如何使用最终方法PHP防止子类重写超类

  14. 14

    当子类重写方法时,我们如何确保在编译时调用超类的方法实现?

  15. 15

    即使对象是子类也被调用超类方法

  16. 16

    如何在C#的父类方法中调用子类的字段

  17. 17

    当对象是子类类型时,为什么我不能从超类调用子类中的公共方法?

  18. 18

    从基类C#调用子类方法

  19. 19

    Python-如何从子类实例调用超类的方法?

  20. 20

    如何检查目标C中的类级别方法是在超类中还是在子类中?

  21. 21

    超类引用无法在Java中调用子类方法

  22. 22

    从 Java 中超类类型的 ArrayList 调用子类方法

  23. 23

    如何在Java中通过超类实例调用子类方法?

  24. 24

    在Objective-C中强制子类调用其超类方法

  25. 25

    将子类中的对象放入超类类型的数组后如何调用子类方法?

  26. 26

    在C ++中调用Helper类的重写方法

  27. 27

    在超类列表中查找子类成员。C#

  28. 28

    在超类列表中查找子类成员。C#

  29. 29

    从子类调用超类的方法

热门标签

归档