问题标签 [abstract]

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

c# - 抽象方法覆盖抽象方法

此代码引发编译错误:“B”未实现继承的抽象成员“A.Process()”。

有没有办法做到这一点?

0 投票
4 回答
2074 浏览

python - 在这种情况下,抽象是什么意思?

我需要一些帮助来理解 python 概念。

目前代码挂在abstract函数的一部分h(...),但我不知道是什么abstract意思,因此无法理解问题所在。

0 投票
2 回答
274 浏览

c++ - 非虚拟地使用虚拟继承的函数?

我在尝试实现在我的游戏中序列化某些类的功能时遇到了麻烦。我将一些数据存储在一个原始文本文件中,我希望能够保存和加载到它/从它加载。然而,这方面的细节是无关紧要的。问题是我正在尝试使每个对保存文件感兴趣的对象都能够自行序列化。为此,我定义了一个接口 ISerializable,其中包含 operator<< 和 operator>> 的纯虚拟声明。

类层次结构看起来像这样

这意味着序列化不同类的对象有很多可能的情况。例如,容器应该在所有包含的项目上调用 operator<<。

现在,由于 operator>> 是虚拟的,我想如果我想序列化实现 ISerializable 中定义的功能的东西,我可以做类似的事情

进而

但我很快就知道这第一次尝试是非法的。我在这里问的是如何解决这个问题

我不想为每个类手动实现一个函数。我想我正在寻找类似superJava 的功能。

任何帮助表示赞赏。

--编辑评论------------

好吧,上次我写问题的时候很着急。现在的代码更像是我尝试编译它时的样子。我解决了这个问题,我遇到的问题与提出的问题无关。我很惭愧地说这是由于对代码进行大规模重构后出现的一个错误,以及该运算符并未在每个基类中都实现的事实。

非常感谢您的回复!

0 投票
3 回答
380 浏览

c# - 抽象基类和应用程序域

如果我接下来的解释不够合理,我现在道歉;我以它而闻名,尽管我尝试不这样做。

我正在编写一个使用用户定义插件的服务。我试图通过使用共享程序集中定义的接口来隔离它们——将它们的程序集排除在服务的 appdomain 之外。

让我感到沮丧的是抽象基类的使用。某些接口的所有实现都具有共同的功能,因此抽象基类是有意义的。如果一个抽象基础在服务程序集中,那么任何子类化它的插件都会将它们的程序集拖到服务的应用程序域中。但是,服务使用的抽象基础(具有内部设置器和公共获取器的属性)中有内部成员,因此它需要与服务位于同一程序集中才能实现。

看起来我想要的似乎是不可能的,但我也相信这是因为我采取了错误的方法。我正在拼命地尝试在这个练习中更好地利用好的模式和实践,并在此过程中不断学习。

0 投票
5 回答
6045 浏览

java - Java:抽象类构造函数和 this()

有人可以指出我的误解吗?

我有两个类,一个 Abstract 和一个 Concrete,如下所示:

当我运行它时,我得到以下输出:

1)类=混凝土;Abstract 的无参数构造函数被调用。
2)类=混凝土;Abstract 的 1-arg 构造函数被调用。
3)类=混凝土;调用了具体的 1-arg 构造函数。

我的问题是:为什么从 Abstract 的 String arg 构造函数对 this() 的调用不调用 Concrete 上的这个无参数构造函数?或者,也许更相关的是,有什么方法可以让 Abstract 的 String arg 构造函数调用 Concrete 上的无参数构造函数,从而允许构造函数的“正确”链接?

0 投票
3 回答
1417 浏览

c# - 抽象属性是否创建私有支持字段?

简单的问题:抽象属性是否创建了私有支持字段?例子:

这会创建一个私有的支持字段吗?我想强制派生此属性的任何类使用它们自己的支持字段,而不是由编译器创建的支持字段。

0 投票
5 回答
10713 浏览

c# - 如何强制继承类在 C# 中实现静态方法?

我要做的就是确保Item类的子类实现一个静态方法,并且我希望在编译时对其进行检查以避免运行时错误。

具有静态方法的抽象类似乎不起作用:

错误:不能将静态成员标记为覆盖、虚拟或抽象

并且接口似乎也不起作用:

错误:客户没有实现接口成员 GetHistoricalItem()

是否有一些解决方法可以让编译器检查继承类是否实现具有特定签名的静态方法?

0 投票
1 回答
4453 浏览

delphi - 为什么调用 TJclCompressArchive.Compress 时会出现“抽象错误”?

我有以下代码总是因“抽象错误”而失败:

但是,我在尝试压缩时总是会收到该错误。关于我在这里做错了什么的任何想法?

0 投票
7 回答
93720 浏览

java - 如何在 Java 中初始化 Graphics 对象?

这是代码:

它说 g1 没有初始化。但是如何初始化一个抽象类呢?

0 投票
4 回答
3553 浏览

c - C中的不透明(抽象)数据类型

文件 api.h

文件 core.h

文件函数.c

文件 main.c

当我编译时,我得到:

如果我包含core.hmain.c此错误中,则不会像 try 中定义的那样出现core.h。但我希望结构try被隐藏到main.c——它不应该知道try结构的成员。我错过了什么?