问题标签 [concreteclass]

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

ios - Objective-C中具体类和抽象类的区别

我现在正在学习 iOS 开发,遇到了具体和抽象的课程。这些类有什么区别。我在网上搜索过,但它们是用其他语言而不是 Objective-C 的。

0 投票
3 回答
110 浏览

java - 我可以避免在子类中实现参数化构造函数吗

我有一个带有 1-param 构造函数的抽象类,对于任何具体的子类都应该是相同的。每个具体的子类是否都必须具有相同的 1-param 构造函数,如果是,为什么?

抽象的:

具体的:

0 投票
1 回答
33 浏览

java - 抽象对象的组合模式

我有一个抽象类,其中包含一系列抽象事物:

我有几个具体的类,每个类都有一系列具体的东西:

都是相关的:

我在这里需要什么设计模式?我已经有了一个工厂方法,其中任何 Color 子类都必须能够生成适当的 ColorThing。但是,我也希望能够在 Color 中使用此方法,子类不需要实现:

此外,我希望每个子类都能够将 super.ColorThings[] 实例化为他们自己的数组版本:

Java 允许这样做吗?我可以更好地重新设计它吗?

0 投票
2 回答
120 浏览

java - 从具体类设置时获取重复字段

我需要在每个ConcreteClass扩展中定义常量值AbstractClass。由于某种原因,对象最终具有重复的字段,一组字段等于零,下一组具有正确的值。

一些接口

抽象类

具体类

我需要我的具体类来存储常量值,同时从抽象类final double x = 1.1;继承方法实现。calculate()

0 投票
3 回答
360 浏览

c++ - 从接口访问具体类的“this”指针

编写测试后,我确定this接口中的指针不等于this具体类的指针,这意味着我不能只对其使用 C 风格的强制转换。

我的接口需要一个基类指针,指向在构造函数和析构函数中继承它的具体类,以便处理与接口相关的注册和注销。

每一个继承接口的具体对象都需要先继承抽象基类,它在布局中总是排在第一位。

对于构造函数来说并不难,我可以在接口构造函数中添加一个指针并this从具体类中传递。但是析构函数没有任何参数,所以我在那里一无所知。

到目前为止,我提出的解决方案带有开销:

1 - 将指针存储在要在析构函数中使用的接口中 - 增加一个指针的内存开销

2 - 在接口中创建一个抽象方法并实现它以this在具体类中返回 - 增加了虚拟调用的间接开销

3 - dynamic_cast更糟

有没有更有效的方法来实现这一目标?

0 投票
1 回答
1843 浏览

java - 使用抽象类型变量中的具体类

很抱歉,如果这个问题已经被问过,我还没有找到类似我的问题的东西......

我正在工作/玩耍/学习建立某种测试环境......在其中,我正在构建一个应用程序层(一个类包,是不同页面/窗口/表单的虚拟表示)应用。简化的设置如下:

这背后的想法是我希望我的测试只保存一个当前网页。我不希望每次更改页面时都创建一个新变量。

我也不想被迫提前知道我要进入哪个页面。我希望应用程序层给我应用程序的流程。就像单击链接时,您会被带到下一页一样,我希望当我单击将我带到另一个页面的链接时,该方法会告诉我我将进入哪个页面。

(WebPage 抽象类还公开了所有具体 WebPage 之间的许多共享方法)

所以我的预期用途是:

遗憾的是,这不起作用,因为 currentPage 变量被键入为 WebPage,它看不到任何具体类的方法。我觉得它既合乎逻辑又很奇怪,因为我可以问“currentPage.getClass().getName();” 它会返回“packageName.ConcreteClassName”。

为了使 Typecasting 起作用,我需要重新定义变量的类型......(不确定它是否可能甚至是好做)。

所以我知道我可以在变量中找到类的名称,但我不确定从那里去哪里。

有人有解决方案吗?

0 投票
2 回答
1734 浏览

java - 抽象类中允许构造函数,但接口中不允许构造函数

纠正我,如果我错了

上面的标题使我接近以下结论:

1)构造函数是,没有别的,而是具有类名且没有返回类型的具体方法,甚至不是 void 。

2)而且,抽象类可以同时具有具体和抽象方法;所以在抽象类中有一个构造函数就像有一个具体的方法。没关系,直到在该抽象类中不尝试调用构造函数。

因为,为了调用,我们需要创建对象,这是一个实例化的概念,它违反了抽象类的协议。但是,在将这个抽象类扩展为具体类并创建具体类的对象之后,可以调用此构造函数。

3)接口不能有构造函数,因为它是纯抽象的。它不支持具体方法。并且,因此甚至不是构造函数

0 投票
1 回答
245 浏览

c++ - C++ 抽象/具体类声明

我有一个 MotorDefinition 类和一个名为 Motor 的抽象类:

我的 Zumo 车辆有两个电机:

不幸的是(对我来说),这不能编译:

我想我遗漏了一些基本概念,而且我肯定弄乱了一些语法。你能帮我正确定义这个吗,拜托。

0 投票
3 回答
1896 浏览

c# - 使用 Moq 模拟具体类方法的返回值

我有一个像这样的抽象工厂。

我有这样的具体实现。

这个具体工厂是通过这样的方法访问的。

现在我需要为 MethodTobeTested() 编写一个单元测试。

我像这样嘲笑 GetSyncService() 的返回值。但它调用的是实际的 OperatorSyncService,而不是 mock。我需要这个模拟来模拟 OperatorSyncService 中的另一个方法

关于如何解决这个问题的任何想法?

0 投票
1 回答
182 浏览

java - 是我空的“公共课 xList扩展 ArrayList“ 具体的?

我正在努力理解什么是具体课程。

目前我有一个空班:

在不同的类中并使用主要方法我使用:

xList list = new xList();

然后添加到它使用:

list.add("example");

我想要做的是创建 xList 类,它将通过从 ArrayList 继承来满足我的类图是具体的。使用 xList 类,我可以创建一个学生列表(因此它有自己的学生类对象列表)。学生类由 id 和 name 以及 setter 和 getter 组成。

我的思维方式是正确的还是我走错了路?