Tag: 覆盖

检测一个方法是否被reflection(C#)覆盖

假设我有一个基类TestBase,我定义了一个虚方法TestMe() class TestBase { public virtual bool TestMe() { } } 现在我inheritance这个类: class Test1 : TestBase { public override bool TestMe() {} } 现在,使用reflection,我需要find如果方法TestMe已被覆盖子类 – 是否有可能? 我所需要的 – 我正在编写一个types为“object”的devise器可视化工具来显示inheritance的整个层次结构,并显示哪个虚拟方法在哪个级别被覆盖。

用C ++重写基类的重载函数

可能重复: C ++重载parsing 我遇到了一个问题,在我的课程覆盖了它的基类的一个函数之后,所有重载版本的函数都被隐藏了。 这是由devise还是我只是做错了什么? 防爆。 class foo { public: foo(void); ~foo(void); virtual void a(int); virtual void a(double); }; class bar : public foo { public: bar(void); ~bar(void); void a(int); }; 那么下面会给出一个编译错误,说bar中没有(double)函数。 main() { double i = 0.0; bar b; ba(i); }

“覆盖”关键字只是检查重写的虚拟方法吗?

据我所知,在C ++ 11中引入override关键字只不过是一个检查,以确保正在实现的function是在基类中的virtual函数的override 。 是吗?

覆盖Android Backbutton行为仅适用于PhoneGap的第一页

我正在使用PhoneGap 1.5.0,jQuery 1.7.1和jQuery mobile 1.0.1,并试图覆盖Android中的后台button,如这里或这里所述 。 document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap loaded function onDeviceReady() { console.log("PhoneGap Ready!"); // waiting for button document.addEventListener("backbutton", handleBackButton, false); } // handle the back button function handleBackButton() { console.log("Back Button Pressed!"); navigator.app.exitApp(); } 但它只适用于我的应用程序的第一页。 换到不同的页面后,button什么也不做。 该应用程序包含一个像这样的tabview: <body> <div data-role="page" id="pilotTab"> <div data-role="header"> <h1>Pilot</h1> </div> <div data-role="content" id="pilotContent"> content be here […]

是否可以重写一个非虚方法?

有没有办法来重写一个非虚拟的方法? 或者类似的结果(除了创build一个新的方法来调用所需的方法)? 我想重写一个来自Microsoft.Xna.Framework.Graphics.GraphicsDevice的方法,考虑到unit testing。

为什么我们需要新的关键字,为什么是默认的行为隐藏和不重写?

我正在看这个博客文章 ,有以下问题: 为什么我们需要new关键字,只是指定一个基类方法被隐藏。 我的意思是,我们为什么需要它? 如果我们不使用override关键字,我们是不是隐藏基类方法? 为什么在C#中的默认隐藏和不重写? 为什么devise师这样实施呢?

C#:重写返回types

有没有办法在C#中覆盖返回types? 如果是的话,如果不是为什么,什么是推荐的做法呢? 我的情况是,我有一个抽象的基类和后裔的接口。 我想这样做(好吧不是真的,但作为一个例子!): public interface Animal { Poo Excrement { get; } } public class AnimalBase { public virtual Poo Excrement { get { return new Poo(); } } } public class Dog { // No override, just return normal poo like normal animal } public class Cat { public override RadioactivePoo Excrement { […]

Java中dynamic和静态多态性有什么区别?

任何人都可以提供一个简单的例子,解释在Java中的dynamic和静态多态性之间的区别?

C#可选参数在重写的方法

在.NET Framework中看起来像覆盖该方法时可选参数存在问题。 下面的代码的输出是:“bbb”“aaa”。 但是我期望的输出是:“bbb”“bbb”。是否有解决scheme。 我知道它可以解决方法重载,但不知道这个原因。 此外代码工作正常在单声道。 class Program { class AAA { public virtual void MyMethod(string s = "aaa") { Console.WriteLine(s); } public virtual void MyMethod2() { MyMethod(); } } class BBB : AAA { public override void MyMethod(string s = "bbb") { base.MyMethod(s); } public override void MyMethod2() { MyMethod(); } } static void […]

方法重载和重载有什么区别?

重载方法和重写方法有什么区别? 任何人都可以用一个例子来解释吗?