问题标签 [static-functions]

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 回答
398 浏览

actionscript-3 - Actionscript - 静态函数和 UI 元素的问题?

我对操作脚本中的 OOP 有点不知所措。我有一个捕获视频流的 Display 类。我正在尝试创建一组基本的停止/记录按钮来控制相机。显然我不能声明可以访问的函数this或任何允许我识别和停止剪辑的变量。编译器(我正在使用 Haxe)抛出错误:

我可能以错误的方式处理这个问题。这是一些(缩写)代码:

我正在使用 Haxe 编译为 AS3。这里有一个 deltas 列表http://haxe.org/doc/flash/as2_compare似乎没有涵盖这个问题,所以我相信这是我在 AS 上遇到的问题。它可能与编译器有关,但我希望不是因为到目前为止我真的很喜欢 Haxe。

如果 actionscript 编译器将这些函数视为静态函数,您如何创建与对象实例关联的 UI 元素?

0 投票
3 回答
1641 浏览

c++ - 隐藏“静态”类变量

所以我最近发现了一些源代码,它使用了我以前从未见过的特定技术(成语?);简而言之; 它没有为所讨论的类使用静态变量,而是在类源文件中使用了局部变量。

我的班级.h

我的类.cpp

主文件

我的问题是,为什么有人会采用这种方法而不是使用静态变量?

我的看法是,由于理想情况下该变量只有 myclass 类(私有静态)知道,并且继承根本不重要(在这种情况下),这可能会阻止其他人知道这个变量。但这是我能看到的唯一优势;不确定这是否值得。

同样的问题也适用于私有的(静态/非静态)成员函数;当继承不重要时。

编辑:在阅读之后,我要说这是因为有些人仍然使用 C 编程风格......

0 投票
1 回答
472 浏览

c++ - 静态变量发布顺序

请帮忙,

问题:以下代码中的核心转储:

我有一个抽象类 SomeOtherClass,并从它派生了 SomeOtherClassImpl。

这是导致问题的代码:

我在其他翻译单元中有一些 MyClass 类型的静态变量。

这个问题很奇怪,因为程序退出时会发生分段错误。当然 theDefault 可以在 theVector 之前被释放,但是有什么区别呢?当 main 已经完成时,两者都被释放。

您的帮助将不胜感激。

0 投票
2 回答
107 浏览

c++ - 静态变量和函数的使用

我有以下类定义和 main()。有人可以指出我为什么会收到错误吗?

我得到的错误如下:

即使我使用 c.send(1) 而不是 test::send(1),错误也是一样的。在此先感谢您的帮助。

0 投票
7 回答
9044 浏览

c++ - C++中的静态虚函数

我有一个基类和一个派生类,我想更改基函数,同时保持它们是静态的,因为它们应该作为静态传递给其他函数。

我怎样才能做到这一点?

0 投票
4 回答
15561 浏览

matlab - MATLAB类中如何获取静态成员变量?

有没有办法在 MATLAB 类中定义静态成员变量?

这不起作用:

建议使用关键字“Constant”而不是“Static”,不能修改常量属性。我想要一个类的所有对象共有的变量,A并且我希望能够在类的方法中修改该变量A

所以我需要的是一个私有静态成员变量。有没有办法在 MATLAB 中获得它?


发现可以使用静态成员函数中的持久变量来完成解决方法。

在这种情况下,您应该从一个基类继承所有类,如下所示。

0 投票
4 回答
7133 浏览

c++ - 模拟静态/全局函数的最佳简单方法?

我有一个简单的几乎类似价值的类,比如 Person:

我正在使用第三方库,并且ThirdPartyClass需要调用一个名为Destroy(第三方库的一部分)的全局/静态函数来销毁它。该Destroy函数在 Person 析构函数中调用。

现在我正在尝试对我的 Person 类进行单元测试,我需要一种方法来模拟/存根该Destroy方法。我想我可以围绕静态Destroy函数编写一个包装器类,然后使用依赖注入将这个包装器注入到 Person 类中,但这样做似乎有点过头了,只是在这个简单的类上调用这个函数。有什么简单直接的方法可以做到这一点?或者依赖注入真的是最好的方法吗?

更新

最终,我决定创建一个包含所有 3rd 方库的全局函数的类,然后使用依赖注入将这个类传递给我的 person 类的构造函数。这样我就可以去掉 Destroy 方法。虽然 person 类只使用一个函数,但库的其他函数在我的代码中的其他点被调用,当我需要测试这些函数时,我将面临同样的问题。

我在我的主应用程序代码中创建了这个包装类的一个实例,并在需要的地方注入它。我选择走这条路线,因为我认为它更清晰。我喜欢 Billy ONeal 的解决方案,我认为它回答了我的问题,但我意识到如果我将代码保留几个月然后回来,与依赖注入相比,我需要更长的时间才能弄清楚发生了什么。我想起了 Python 格言中的禅宗“显式胜于隐式”。而且我觉得依赖注入使正在发生的事情更加明确。

0 投票
2 回答
81 浏览

python - 如何在python中引用覆盖的类函数

我知道 C++ 和 Java,但我不熟悉Pythonic编程。所以也许这是我想要做的不好的风格。

考虑以下示例:

请注意,我没有使用self参数,因为我没有尝试创建类的实例,因为不需要我的任务。我只是想以一种可以覆盖该函数的方式引用一个函数。

0 投票
3 回答
3871 浏览

objective-c - NSClassFromString(MyClassName) 比调用 MyClass 的类函数

我有一个有 7 个孩子的 UIViewCustom 类。每个孩子都有自己的班级功能来帮助启动

在 UITableView 中,我选择其中一个类,然后调用函数“-insertNewObjectWithClassName:(NSString*)childClassName”。

在那个函数中,我想根据类名创建实例,所以我尝试了

但不幸的是无法调用静态函数。

有没有办法让编译器说类不仅仅是一个类,还是一个 MotherClass 来告诉他函数?

非常感谢!

编辑:警告:语义问题:找不到方法“-minWidth”(返回类型默认为“id”)

解决方案:类 class 而不是 Class *class

0 投票
2 回答
1132 浏览

c++ - C++ 静态函数复制

假设我有一个带有静态函数的类。该类的构造函数使用静态函数作为其入口点执行 pthread_create。

我的问题是:

如果我有这个类的多个实例,它们会都使用该函数运行自己的线程吗?这样做有什么问题吗?而且......如果函数本身有静态变量,我会不会因为它不能重入而有问题?