问题标签 [extending-classes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
576 浏览

python - 扩展 Python 类时更新静态变量

我正在编写一个库的扩展,我想用基类中的函数指针字典注册我的新函数。我的理解是字典,因为它在一个类中的最高范围,是静态的,应该是可更新的。但是,当我尝试update()使用扩展类中的新函数查找字典时,它告诉我它是未定义的。以下最小示例重现了该错误:

运行它会出现以下错误

由于我不能(合理地)修改原件SomeClass,有什么办法可以解决这个问题吗?

SomeExtensionClass编辑:期望的结果是dictionary={'a':somefunction1, 'b':somefunction2}

0 投票
1 回答
112 浏览

java - (Java,Bukkit)使用扩展类方法不起作用(Noob oop)

我有一个名为“区域”的类,它创建区域并检查坐标是否在其中。然后我有其他类'ArrowTower'扩展'Region'。'ArrowTower' 类创建塔。我整天都在试验,没有结果。我想要做的是将第一个和第二个位置分配给“区域”类,然后创建区域并检查坐标是否属于它。我也有事件 - 'BlockTouch' 类创建 'ArrowTower' 对象。当我尝试它时,tower.insideRegion(e.getClickedBlock());它给了我我的位置然后归零,因为它没有在 中设置值public void buildArrowTower,但值就在这里。所以我只是不明白为什么这不起作用:/

我的活动课程:

我的 Region.class:

我的 ArrowTower.class:

0 投票
1 回答
421 浏览

php - 线程环境中的PHP错误将值分配给同一线程中的父静态成员?

我有这个问题,我想知道它是 PHP 错误还是故意行为。如果我在子类中将 MySQL 资源分配给父成员,则在作为线程运行时该值会丢失。

此代码不运行 - MySQL 资源应显示两次:

这是结果 - “从父级访问的成员: ”的预期输出应该类似于“资源 id#2 ”:

我必须更改它,然后成员$m_Connectionfopen(). 注意:它正在线程中工作!

输出:

运行示例的要求:

  1. 使用启用的线程安全编译的 PHP
  2. 使用 pThread 库编译的 PHP

我必须根据这篇文章在线程中连接到 MySql:http: //php.net/manual/en/intro.pthreads.php

更新

我更改了代码:它正在打开/etc/php.ini而不是连接到 MySql 数据库。相同的结果 --> 从扩展类返回资源时它会丢失。这些示例现在以 1:1 的比例运行,无需更改/调整任何内容。

0 投票
1 回答
109 浏览

java - Java中通过基类工厂初始化扩展类

这是我在这里的第一个问题,所以如果有问题请不要生我的气。

问题是:我们有类节点。它是 Item 类的基类。所以基本上:

好的,仍然一切都很好。但是我们也有一个类,我们称之为 NodeFactory,它包含静态方法 loadNodeAssets 作为结果返回 Node。

在我使用的库中,它是初始化 Node 类并将资产加载到其中的唯一方法。但主要问题是我需要获取 Item 类实例而不是 Node。我怎么能做到呢?

由于返回类的类型为节点但不是项目,因此无法正常工作。基本上我需要构造 Fish 类并初始化 Fish 类扩展的 Node 类中的继承字段。对不起我的英语不好。希望得到您的帮助。谢谢!

0 投票
1 回答
110 浏览

php - 为什么我的设置器没有警告无法设置属性?

在课堂a上我有一个setter定义。在b扩展类的 classa中,有一个private变量,因此该类a将无法看到。此代码中的setterin 类a永远不会将变量设置为test不同于初始值的值,因为它无法访问它。如果您运行此代码,对于案例 A,它将输出0.

但是,如果您运行案例 B,您将得到一个Exception说法,即该属性test2不存在。

我的问题是,如果类a实际上没有看到变量test并且无法设置它的值,为什么我不会收到任何类型的错误、异常、警告甚至是一点点通知?

这是我在一个真实项目中刚刚发生的情况,由于没有生成错误并且代码在逻辑上看起来正确,因此很难找到。那么如何防止以后再犯这种错误呢?

0 投票
0 回答
846 浏览

php - Laravel 5 - 扩展抽象提供者

我正在尝试扩展 Laravel\Socialite\Two\AbstractProvider,但我不确定在 Laravel 中执行此操作的最佳/正确方法是什么。阅读文档让我相信我应该在服务提供商那里做这件事。

任何帮助都会很棒,这是我为服务提供商提供的代码:

SocialiteServiceProvider.php

然后我有第二个文件

SocialiteAbstractProvider.php

我也已将其正确添加到我的配置中,因为我能够看到注册事件。

0 投票
1 回答
59 浏览

php - 扩展包模型

我已经安装了 Cmgmyr\Messenger,但是,我需要扩展 Thread 模型和可能的其他几个模型,因为我的 users 表不包含name字段。

我需要扩展的方法是:

注意到 users.name 文件被调用了吗?这是需要更改为 username 甚至更好的 users.firstname 和 users.lastname 一起的内容。

我需要将其扩展到以下结构:

我该怎么办?

0 投票
1 回答
299 浏览

wordpress - Woocommerce - 尝试将产品数据与自定义表中的数据合并

我有几个自定义表,我正在使用带有树枝的高级自定义字段 (acf)。这些字段存储在自定义表中。

例如:

custom_table1, custom_table2,custom_table1_table2_relation等等。

它们可以在管理产品面板中进行编辑,并显示为与产品数据相关的对象。现在我将它们合并到一个关联数组中。

我有这个:

我喜欢这个:

我试图扩展一个 WC_Class 并创建一个动作来在前面调用这些

这只是一个片段示例

但我不明白。我有点乱

0 投票
1 回答
52 浏览

c# - 调用父构造函数的最简单方法

我正在使用一个公共实体框架, ParentClassfunction通过搜索配置和数据库条目来做很多重要的事情,并且无法编辑此代码,因为它来自第三方。但是,我想functionParentClass无法访问的白名单信息上添加额外的“搜索”。

下面的代码是正在发生的事情的模型。我只是想知道,有没有更好的方法来扩展ParentClass和访问它function

0 投票
0 回答
90 浏览

c# - 无法从

我在 DatabaseLayer 中有这四个类:

MediaSharing 中的三个类:

当我尝试做

它返回 参数 1:无法从 'DatabaseLayer.MessageDoa' 转换为 'DatabaseLayer.MediaDoa' Domain ......

参数 1:无法从 'DatabaseLayer.MessageDoa' 转换为 'DatabaseLayer.TextDoa' Domain ......

但是 MediaDoa 和 TextDoa 使用 MessageDoa...