问题标签 [nested-class]

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 投票
1 回答
1564 浏览

java - SwingWorker 必须是嵌套类吗?

我想知道是否SwingWorker必须是我的主 GUI 中的嵌套类。我宁愿让它成为一个外部类,以使 GUI 从我的任何程序逻辑中保持清晰。

我试图使SwingWorker该类成为外部类,这对于该过程很好,不幸的是我无法从 SwingWorker 类访问我的任何 GUI 字段。每当我尝试从 SwingWorker 的方法中访问一个属性(例如标签或其他任何内容)时,done()我都会得到一个 nullPointer 异常。

任何建议将不胜感激!


首先非常感谢杰夫!到目前为止工作正常,即使我无法按照您提出的第二个选项关注您。我的一项后台任务计算了某个大小(长值),因此从我的 GUI 中获取该值会很好。

您建议使用 getter 和 setter,但不幸的是我不知道如何在 SwingWorker 类中实现它们。

我试过这样:

在方法结束时调用 setter doInBackground()。不幸的是,我无法使用get()我的 GUI 中的方法。

在我的情况下,“w”的对象创建不起作用,因为构造函数需要一个 Runnable 对象。我错过了什么吗?请放轻松,这是我第一次与 SwingWorker 合作。:) 再次感谢您的帮助!

0 投票
4 回答
162 浏览

.net - 公开的嵌套类型

我很好奇在涉及 .NET 中的嵌套类型的某些场景中什么是好的做法。

假设您有一个 Wheel 类,并且 Wheel 类包含 Bearing 对象。Bearing 对象仅在 Wheel 中有意义,并且您不希望允许独立创建它,因此将 Bearing 类嵌套在 Wheel 对象中是有意义的。但是,假设您现在需要在 Wheel 类之外读取 Wheel.Bearings 属性。这现在需要将嵌套的 Bearing 类公开。

在这种情况下,最好的选择是什么?
1 - 创建一个嵌套在 Wheel 类中的公共 Bearing 类
2 - 创建一个独立的 Bearing 类,该类在其构造函数中接受一个 Wheel 对象
3 - 创建一个 Wheel 命名空间并在此命名空间内创建一个独立的 Bearing 类。
4 - 别的?

更新:我正在更新更多细节并反映迄今为止的一些建议。ClassParent 是父类,ClassChild 是子类。ClassChild 始终是 ClassParent 的孩子,单独存在是没有意义的。问题是 ClassChild 有一些属性需要公开公开,而其余的只能从 ClassParent 调用。一个示例是不应公开公开的 ClassChild.Delete 函数,因为它只能从 ClassParent 调用,因为 ClassParent 需要执行适当的清理和修改。

在查看了这些建议之后,我提出的设计对我来说看起来有点不干净,所以我想我会征求意见。我有:

0 投票
5 回答
3438 浏览

c++ - 私有继承的 typedef 对嵌套类的可见性

在下面的示例中(为篇幅道歉),我试图隔离在从另一个私有继承的类中使用嵌套类时遇到的一些意外行为。我经常看到这样的声明,即嵌套类与非嵌套类相比没有什么特别之处,但在这个例子中,我们可以看到嵌套类(至少根据 GCC 4.4)可以看到一个公共类型定义由关闭类私有继承的类。

我很欣赏 typdef 与成员数据不同,但我发现这种行为令人惊讶,我想许多其他人也会如此。所以我的问题是双重的:

  1. 这是标准行为吗?(一个体面的解释为什么会非常有帮助)
  2. 可以期望它在大多数现代编译器上工作(即,它的可移植性如何)?

0 投票
4 回答
592 浏览

c++ - 嵌套类还是非嵌套类?

我有 A 类和 A 对象列表。A 有一个函数 f 应该每 X 秒执行一次(对于第一个实例每 1 秒执行一次,对于 seconds 实例每 5 秒执行一次,等等)。我有一个调度程序类,负责在正确的时间执行这些功能。我想做的是创建一个新类 ATime,它将 ptr 保存到 A 实例以及应该执行 A::f 的时间。调度器将持有 Atime 的最小优先级队列。

  1. 你认为这是正确的实现吗?
  2. ATime 应该是调度程序的嵌套类吗?
0 投票
7 回答
1969 浏览

c# - Class.Class vs Namespace.Class 用于顶级通用类库?

哪一个更容易接受(最佳实践)?:

对比

同样对于#2,代码大小是通过部分类来管理的,因此每个嵌套类都可以在一个单独的文件中,对于扩展方法也是如此(除了它们没有嵌套类)

我更喜欢#2,有几个原因,比如能够使用已经常用的类型名称,比如IO,我不想替换或冲突。

你更倾向哪个?各有什么优缺点?这种情况下的最佳做法是什么?

编辑:两者之间还会有性能差异吗?

0 投票
1 回答
1203 浏览

c++ - gcc 使用嵌套类返回错误

我正在尝试使用我的嵌套类的完全限定名称,如下所示,但编译器正在犹豫!

我的问题是,编译器说:

我曾认为使用完全限定名称允许我访问这个嵌套类?它可能会打我的脸,但我到底在这里看不到什么?

0 投票
3 回答
2964 浏览

c++ - 从通用外部类返回指向嵌套内部类的指针

我是 C++ 新手,所以请耐心等待。我有一个名为 A 的泛型类。A 有一个名为 B 的嵌套类。A 包含一个名为 getB() 的方法,它应该返回 B 的一个新实例。但是,我无法编译我的代码。这是它的样子:#include

A.cpp

当我尝试编译它时,我收到以下错误:

有人知道我做错了什么吗?

谢谢,

螺旋状的

更新:

感谢大家的快速回复。我仍然很难让这个工作。采取这里列出的建议后,我有这样的事情:

但是,当我尝试从 main 使用它时,出现错误。这是我的主要方法:

主文件

当我尝试编译它时,我收到以下错误:

再次感谢您的快速回复。

螺旋状的

0 投票
2 回答
497 浏览

asp.net - 在 ASP.NET 中访问父页面的视图状态

好的,我想我在这里遗漏了一些明显的东西,但我仍然无法让它工作......

我在 ASP.NET 中有一个页面。我在页面中有一个嵌套类。我在这个嵌套类中有一个属性。如何从属性的 Set 语句访问页面的视图状态?

谢谢!

0 投票
6 回答
35609 浏览

c++ - C++ 嵌套类/前向声明问题

是否可以前向声明嵌套类,然后将其用作外部类的具体(不是指向/引用)数据成员的类型?

IE

0 投票
3 回答
4676 浏览

php - PHP嵌套类工作......有点?

所以,如果你尝试做一个这样的嵌套类:

你会得到一个错误Fatal error: Class declarations may not be nested in [...]

但是如果你在一个单独的文件中有一个类,像这样:

那么,为什么第二种 hacky 的做法有效,但 non-hacky 的做法却行不通呢?