问题标签 [class-hierarchy]

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

objective-c - 子类调用父类的方法

在 Objective-C 中,我想要一个子类调用或调用父类的方法。就像父母已经分配了孩子一样,孩子做了一些会调用父方法的事情。像这样:

我怎么能这样做呢?(如果您能详细解释一下,我将不胜感激)

0 投票
3 回答
386 浏览

c++ - C++中层次结构的命名

我需要以下层次结构的建议,我想在 C++ 程序中表示。

有一个抽象类uri和从它派生的url类。urn我想要一个包含 uri 概念源代码的目录。和一个应该被称为 .. 的命名空间uri。:)

所以,我来回答我的问题。当命名空间已经被称为“uri”时,我将如何命名抽象类“uri”呢?在 C++ 中这个问题通常采用什么命名约定?base、uri_base、basic_uri 或者你会如何命名它?

我的第二个问题是。在用户感到乏味之前,您可以多久嵌套一次命名空间?例如,我有 uri 部分authorityquery等等。创建一个新的命名空间(例如parts:)并将这些类的源代码放在一个新的子目录中是否明智?还是这只是“过度设计”?

谢谢并恭祝安康

真实的

0 投票
4 回答
273 浏览

c# - 编译时间树结构

我想从存储在另一个系统中的树中检索值。例如:

为了避免输入错误和无效键,我想在编译时通过创建一个包含树结构的对象或类来检查名称:

在 C# 中是否有一种简单的方法可以在不为每个树节点创建类的情况下执行此操作?我可以使用匿名类或子类吗?我应该自动创建代码吗?

0 投票
1 回答
258 浏览

generics - Scala - 协变类型层次结构的根

以下 Scala 类:

有效地定义了一个以 Foo[Bar] 为根的类型层次结构——即任何有效的 Foo[X] 都可以分配给 Foo[Bar] 值或变量:

FooBase 更进一步,也可能暗示不是 Foo 的对象 - 以下显示了问题:

...而且 FooBase 不知道类型 T,因此它的成员无法指定它,我必须在 Foo 中覆盖这些定义以专门化它们:

还有其他方法可以解决这个问题,但重点应该很清楚。

最后,我的实际问题是以下层次结构的根源是什么:

同样,不要告诉我 FooBase,因为事实并非如此。是的,我可以专门为此目的在两者之间插入另一个类,但这仍然不是一个真正的答案,如上所述。

Scala 不喜欢 just Foo(没有类型参数),也不Foo[_]是,因为返回类型参数类型的值的访问方法实际上是Any,而不是Foo。当然,我们也不能这样做Foo[Foo],因为这也缺少第二个的类型参数,Foo[Foo[_]]或者Foo[Foo[Foo[Foo[_]]]只能让我们获得这么多级别。

是否有答案,或者 Scala 是否缺乏对此的支持?

提前致谢!

0 投票
1 回答
41 浏览

c#-4.0 - 有没有办法使用 C# 4 中的新协/逆变来实现这种类型层次结构?

假设我有一个句柄类,如:

我想使用这个类来给我一个层次结构中派生的输出类型。我现在的样子:

这意味着当我有 IAnimal 时,我总是可以得到 IHandle,当我有 IMammal 时,我可以得到 IHandle,等等。

有没有人对此结构有任何一般性评论或关于如何避免所有可能的实现的想法?

0 投票
1 回答
359 浏览

visual-studio - 如何查看 .net/mono 框架类层次结构?

Visual Studio 的 ObjectBrowser 和 Monodevelop 的 Assembly 浏览器中的两个基本视图是基于 Namespaces 和 Assembly 的。如何获得基于类层次结构的框架视图?

0 投票
1 回答
1633 浏览

c# - 跨多个类的静态图像变量

我目前正在使用 C#,并且我有一个基类(项目符号),它需要有一个变量和后续的 getter(图像),因为另一个类需要这种行为(上电)才能正确显示。Bullet 然后将被扩展以制作许多具有不同行为的不同子弹。但是,每个项目符号扩展类每个类(而不是每个实例)只需要一个图像,因为它永远不需要在类似类的项目符号之间更改,并且屏幕上会有数百个项目符号,因此空间是一个问题。即,我需要一个基类中的对象,然后在该类的扩展中是静态的。有没有办法在 C# 中创建它,如果没有,出于好奇,任何其他面向对象的语言?

非常感谢

编辑:例如:

除了不知何故,getter 为每个类返回正确的静态图像

0 投票
4 回答
2278 浏览

c++ - 构造函数的巨大 switch 语句

我有一个容器,它包含一堆指向基类的指针,以及一个函数,它接受一些输入并返回一个作为基类子类的类。它返回哪个子类取决于输入。

现在,我有一个像这样的巨大 switch 语句:

我想知道是否有更好的方法来设计这个。我不知道很多“设计模式”(我认为这就是他们所说的)所以我不知道是否有(明显的)更好的设计方法。

0 投票
5 回答
632 浏览

ruby - ruby中类的类型和类的超类有什么区别?

在写下我反复努力理解 ruby​​ 的对象模型之后,我现在很困惑:以下是我的观察。

这里发生了什么 ?祖先 nil 或 NilClass 或 Object 或 Class 的顶点是什么?Ruby 的对象模型是如何组织的。

什么是类,什么是对象?Class 是类还是对象?对象是对象还是类?

0 投票
3 回答
1684 浏览

scala - 案例类层次结构的lift-json序列化

我有一个如下的层次结构:

我正在尝试使用 lift-json ala 对其进行序列化,如下所示:

但我看到的是它只序列化 B 类中的属性,而不是 A 类中的属性。

我也试过:

结果相同

是什么赋予了?Scala 中是否有我遗漏的明显内容?