问题标签 [subclassing]

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 投票
4 回答
7676 浏览

c++ - C++子类访问修饰符?

我是 C++ 新手,在 C/C#/Objective-C 等 OO 语言方面有多年经验。现在,我正在学习 C++。

我看到了这个 C++ 代码:

似乎类公开World继承了该类。State公共子类化?很难理解。

这个功能的概念是什么?这在什么时候有用或需要?

0 投票
3 回答
10040 浏览

iphone - 子类化 NSMutableDictionary

我正在尝试实现 NSMutableDictionary 的子类,当字典中不存在密钥时,它返回 nil 而不是抛出 NSUndefinedKeyException 。

但是,当我尝试将对象添加到我的字典时,我得到

NilDictionary.h

零字典.m

我真的必须在我的子类中再次实现 NSMutableDictionary 中的所有方法,还是我应该继承一些其他类?

澄清:我最初的问题归结为我无法正确阅读文档。

如果您需要将 NSMutableDictionary 子类化,请查看正确答案。如果你想要一个在你的键不存在时返回 nil 的字典,NSMutableDictionary 已经这样做了。

0 投票
1 回答
1235 浏览

python - 问题子类化内置类型

会导致

TypeError: tuple() 最多接受 1 个参数(给定 2 个)

为什么?我应该怎么做?

0 投票
2 回答
5969 浏览

ruby-on-rails - Rails 中的子类化模型

我有两个模型,文章和食谱,它们有一堆相同的属性和方法。我想创建一个新类“Post”的子类并将它们的所有共享逻辑移到那里,这样我就不会维护重复的代码。我试过这个:

所有这些类都在标准的 ./app/models 文件夹中。但是,例如,当我转到 /articles/new 时,此代码会引发 ActiveRecord::StatementInvalid 错误。错误是:

找不到表“帖子”

知道如何设置吗?

0 投票
2 回答
3206 浏览

iphone - 子类化 UIWebView 不被接受吗?

我听说过关于是否允许创建 UIWebView 的子类的各种事情。有人可以将我链接到任何阐明这种或另一种方式的文档吗?

0 投票
5 回答
2257 浏览

iphone - iPhone 子类化视图控制器和 IBOutlet UITableView

我有以下问题。我已经创建了一个与上面非常相似的 ViewController

我已将 Interface Builder 上的 myTableView 链接到匹配的 nib 的 UITableView。我已经将 MyViewController 子类化为这样创建 YourViewController :

然后我从 TabBarController 加载选项卡项上的 YourViewController。虽然我可以看到最后确实调用了 MyViewController,但模拟器上并没有显示表格视图。

我已经尝试调试 MyViewController 并且似乎 IBOutlet 为零。

这是为什么?

0 投票
1 回答
98 浏览

objective-c - 是什么考虑决定了是键入然后强制转换为子类型,还是使用 id?

如果我有一个类层次结构,其中子类需要使用比超类的 ivars 中指定的类型更具体的类型,将超类 ivar 声明为 id 还是键入它然后在子类中必要时进行强制转换更好?

例如,我有一个使用 Thing 类型的 ivar 的超类:

然后在子类实现中,我想使用 SubThing 来获取它的 methodNotInThing

(我在这里假设子类已将 SubThing 适当地分配给 ivar)。

我已经使用了这两种方法(在我迄今为止使用 ObjC 的短时间内),并且从未完全确定哪种方法最好。我喜欢使用真实类型提供的编译器检查,以及能够在适当的地方使用点语法。但是子类中的不断转换变得非常丑陋,需要更多代码,并且不知何故对我来说味道更糟(我想这几乎不是一个论点)。但是,我喜欢类型化版本中的事实,即超类实际上记录了子类应该对 ivar 做什么。

以上哪一个是更好的方法,为什么?

0 投票
1 回答
3452 浏览

objective-c - 继承 NSArray 和 NSMutableArray

NSArrayNSMutableArray的引用提到了创建子类​​的可能性,但这只能通过提供您自己的后备存储和方法的实现来实现

  • count

  • objectAtIndex:

对于NSArray, 以及

  • insertObject:atIndex:

  • removeObjectAtIndex:

  • addObject:

  • removeLastObject

  • replaceObjectAtIndex:withObject:

NSMutableArray. 这可能会产生误导,因为它会导致程序员认为不可能通过简单的方法对 和 进行子类NSArrayNSMutableArray

认为不可能创建它们的“简单”子类来利用现有的后备存储(即使您不直接访问它们),仍然可以通过一点“解决方法”。

因此,当我在寻找仍然能够对它们进行子类化的可能性时,我有一个简单的想法:只需创建子类并使用NSArrayor的实例NSMutableArray作为后备存储。

下面是它的工作原理:

CSSMutableArray.h

CSSMutableArray.m

如果你想子类NSArray化,你只提供标题为的部分NSArray。您现在可以从“自定义NSArray子类的实现”中进行子类化并按照您的意愿工作。

希望这有帮助......和平!

托门 =)

0 投票
1 回答
4136 浏览

python - 正确处理子类 PyQT LineEdit 中的 keyPressEvent

所以我有一个 QLineEdit,我想抓住一个 shift 键。

这是我的代码:

你可以猜到,我可以捕捉到 shift 按键,但是你不能在 LineEdit 中输入文本。我试过捕捉按键,但我不太确定如何处理它们以允许用户继续输入小部件。

我错过了什么?谢谢!

0 投票
4 回答
17137 浏览

java - 什么是子类化?

我是 java 新手,我正在尝试创建一个 XML 文档并一遍又一遍地克隆该文档的特定节点(减去文本节点)。有人回答我说我应该子类化节点并覆盖克隆。所以我的问题是什么是子分类?