overriding相关内容

为什么子级可以重写和访问其父私有方法?

我习惯于将方法作为protected放在我的PHP类中。但玩private我开始怀疑了。 我知道它可能是复制品,但我从我读到的一般答案中找不到清晰的答案。 已检查documentation和SO answers,但我的测试仍然与那里所说的不一致(见下文)。 在PHP上下文中,尤其是在扩展相同类型的类时,public和private方法之间的“纠缠”不常被解释。 例如: ..
发布时间:2022-08-15 23:07:56 PHP

如何在Java脚本中重写本机构造函数

我想更改RegExp构造函数,使其不区分大小写,但我无法修改源代码。 源调用: MyExp = new RegExp("xxx","") //Native 我是否可以创建可以覆盖它的函数,例如 function RegExp(a,b){ return native.RegExp(a,"i") } 推荐答案 这称为monkey patching。将本机函数的旧值保 ..
发布时间:2022-07-12 19:45:10 前端开发

PrestaShop类覆盖中的新转换的正确域是什么?

您能帮助我使用$this->trans()函数中的";domain";参数吗? 在我自己的模块中,我有一个CartRule类的覆盖。我的覆盖工作正常-它被Presta从我的模块复制到覆盖文件夹,并且代码起作用。 我的内部有一个新的翻译字符串,但我不知道要为";域";赋予什么值。 我的代码: $this->trans('Promotion co ..
发布时间:2022-07-02 15:49:12 其他开发

使用C++实现Android事件处理程序

我有一个用Java编写的布局设计,目前正在通过JNI移植到C++。在这一点上,我实际上已经完成了,但是我目前对于如何设置事件处理程序(例如setOnClickListener)感到困惑。我已经经历了the JNI specification,运气不太好。 如果有人能将下面的代码片段移植到C++或将我引向正确的方向(由于结果的代码量更合理),我将不胜感激。 public void ..
发布时间:2022-02-28 10:35:07 移动开发

调用重写的父方法

在下面的示例代码中,父类Foo中的方法test()被子类Bar中的方法test()覆盖。是否可以从Bar::test()调用Foo::test()? class Foo { $text = "world "; protected function test() { echo $this->text; } }// class Foo class Bar extends ..
发布时间:2022-02-28 10:31:49 PHP

选择器“touchesBegan:withEvent:"的覆盖方法具有不兼容的类型“(NSSet,UIEvent)->()'

Xcode 6.3.在实现 UITextFieldDelegate 协议的类中,我想重写 touchesBegan() 方法以可能隐藏键盘.如果我在函数规范中避免了编译器错误,则尝试从 Set 或 NSSet 读取“触摸"时会出现编译器错误,否则 super.touchesBegan(touches , withEvent:event) 会引发错误.在 Xcode 6.2 中编译的这些组合之一!( ..
发布时间:2022-01-31 18:08:55 移动开发

新建和覆盖之间的区别

想知道以下之间有什么区别: 案例 1:基类 public void DoIt(); 案例一:继承类 public new void DoIt(); 案例 2:基类 public virtual void DoIt(); 案例2:继承类 public override void DoIt(); 根据我运行的测试,案例 1 和 2 似乎具有相同的效果.有区别,还是首选方式? ..
发布时间:2022-01-30 10:36:43 C#/.NET

在 Java 中覆盖 equals 和 hashCode 时应该考虑哪些问题?

在覆盖 equals 和 hashCode 时必须考虑哪些问题/陷阱? 解决方案 理论(语言律师和数学爱好者): equals() (javadoc) 必须定义一个等价关系(它必须是reflexive、symmetric和transitive).此外,它必须是一致的(如果对象没有被修改,那么它必须保持返回相同的值).此外,o.equals(null) 必须始终返回 false. ..
发布时间:2022-01-30 08:37:11 Java开发

未调用 C++ 覆盖的函数

我遇到了一个问题,即不调用重载函数,而是调用基函数.我怀疑这与项目文件之间的拆分方式有关. 在文件 obj1.h/obj1.cpp 我有这样的东西 类 obj1{上市:无效打印();};无效 obj1::print(){cout 在文件 obj2.h/obj2.cpp 我有这样的东西: #include "obj1.h"类 obj2:公共 obj1{上市:无效打印();};无效 ob ..
发布时间:2022-01-24 16:55:27 C/C++开发

Java 转换为超类并调用重载方法

抽象类 A {诠释遇见(A一){返回0;}诠释遇见(B b){返回 1;}诠释遇见(C c){返回 2;}}B 类扩展 A {诠释遇见(A一){返回 3;}诠释遇见(B b){返回 4;}诠释遇见(C c){返回 5;}}C类扩展B {诠释 f() {返回 ((A)this).met((A)this);}}公共类测试{公共静态无效主要(字符串参数[]){C x = 新 C();System.out ..
发布时间:2022-01-24 16:53:18 Java开发

C#:有什么方法可以跳过多态性中的一个基本调用?

类 GrandParent{公共虚拟 void Foo() { ... }}类父:祖父{公共覆盖无效Foo(){base.Foo();//做额外的工作}}班级孩子:父母{公共覆盖无效Foo(){//如何跳过 Parent.Foo 并到达 GrandParent.Foo 基地?//做额外的工作}} 如上面的代码所示,我怎样才能让 Child.Foo() 调用 GrandParent.Foo() 而 ..
发布时间:2022-01-24 16:45:16 C#/.NET

多态性和铸造

我想了解 c# 中的多态性,因此通过尝试几种构造,我想出了以下案例: 类形状{公共虚拟无效绘图(){Console.WriteLine("Shape.Draw()");}}类圆:形状{公共覆盖无效绘制(){Console.WriteLine("Circle.Draw()");}} 我知道,为了将 Draw() 消息发送到几个相关对象,以便它们可以根据自己的实现采取行动,我必须更改(在这种情况下 ..
发布时间:2022-01-24 16:44:49 C#/.NET

为什么维基百科说“多态与方法重载或方法覆盖不同".

我环顾四周,找不到任何类似的问题. 这是我从 Wikipedia 得到的段落:p> 多态与方法重载或方法覆盖不同.多态性仅涉及将特定实现应用于接口或更通用的基类.方法重载是指在同一个类中具有相同名称但不同签名的方法.方法覆盖是子类替换其父类的一个或多个方法的实现的地方.方法重载和方法覆盖本身都不是多态性的实现. 这里有人可以更清楚地解释它,尤其是“多态性与方法覆盖不同"部分吗?我现在 ..
发布时间:2022-01-24 16:38:02 其他开发

方法是否隐藏了一种多态性?

多态是采取多种形式的能力.方法覆盖是运行时多态性. 我的问题是: Java 中有没有类似静态多态的东西? 方法隐藏可以被认为是多态的一种形式吗? 在这个 问题的答案,据说静态方法不是多态的.这是什么原因? 解决方案 如果我们运行这个测试 A 类 {静态无效 x() {System.out.println("A");}}B 类扩展 A {静态无效 x() {Syst ..
发布时间:2022-01-24 16:36:45 Java开发

C++ 函数重写

我有三个不同的基类: 类 BaseA{上市:虚拟 int foo() = 0;};类 BaseB{上市:虚拟 int foo() { 返回 42;}};BaseC 类{上市:int foo() { 返回 42;}}; 然后我像这样从基数派生(用 X 代替 A、B 或 C): class Child : public BaseX{上市:int foo() { 返回 42;}}; 三个不同基类 ..
发布时间:2022-01-24 16:32:39 C/C++开发

覆盖与多态

两者有什么区别? 具有 myMethod(int a) 的超类和具有相同方法的继承类,这是覆盖还是多态? 我很清楚黑白覆盖和重载的区别,但多态性和覆盖似乎是一样的.还是他们? 解决方案 重写是当你在一个对象上调用一个方法,而子类中与超类中具有相同签名的方法被调用. 多态是指您在运行时不确定对象类型并调用最具体的方法.因此,调用的方法的行为可能会有所不同,具体取决于运行时的 ..
发布时间:2022-01-24 16:31:37 其他开发