问题标签 [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.
django - django建模
概念:
饮料是由成分制成的。例如 10 毫升伏特加。在某些收据中,成分非常特别(10 毫升芬兰伏特加),有些则不是(10 毫升任何伏特加)。
我想知道如何建模一个组件来解决这个问题——我有特定的产品,可以满足更多的要求。
现在的模型是:
我考虑制作一些表格,将真实产品(库存)与抽象产品(收据组件)连接起来。但也许有简单的解决方案?
c# - 如何在 .NET 类库中创建“抽象”枚举?
我正在制作一个服务器库,其中数据包关联由枚举完成。
当您在自己的项目中工作时,这很好 - 您可以比较返回哪个枚举成员(即if (packet.OperationCode == ClientOperationCode.LoginRequest)
)。然而,由于这是一个类库,用户必须定义自己的枚举。
因此,我有两个枚举要添加为“抽象”——ServerOperationCode 和 ClientOperationCode。我知道在 C# 中实现抽象枚举是不可能的。我该怎么做?
.net - 如何使用反射来获取默认构造函数?
我正在编写一个库,它在运行时动态生成抽象类的派生类。派生类的构造函数需要一个MethodInfo
基类构造函数,以便它可以调用它。但是,由于某种原因Type.GetConstructor()
返回null
。例如:
请注意,即使我在 中明确声明了构造函数,并且即使 Test 不是抽象的,也会GetConstructor
返回。null
Test
scala - Scala的密封抽象与抽象类
sealed abstract
和abstract
Scala 类有什么区别?
c# - .NET 2.0 项目的问题,使用实现 WCF 服务的 3.0 DLL
我在一个项目中创建了一个用于访问我的 WCF 服务的客户端,并且所有使用服务的类都继承自这个类:
这个类是我做一些事情的地方,比如在调用客户端时进行处理、记录等等。所有服务类通常都会做的一些常见事情。
一切正常,直到我得到在旧系统上实现它的任务。当我在另一个无法引用的项目中使用这个项目 (DLL) 时遇到了一个问题System.ServiceModel
(因为它是我仍然维护的旧 .NET 2.0 软件,将其升级到 3.0 是不可能的)。在这里,如果我省略,where TServiceClient : ICommunicationObject
则项目可以构建,但ServiceClient
不能使用,例如,client.Close()
或client.State
那么,我唯一的解决方案是删除该where
语句并重写服务类吗?
java - Java 抽象访问者 - 保证成功?如果是这样,为什么?
我正在处理休眠,试图通过使用访问者模式找出代理实例背后的运行时类。然后我想出了一个AbstractVisitable
方法,但我想知道它是否总是会产生正确的结果。
考虑以下代码:
这使得 a ConcreteVisitable
which 从 继承accept
方法AbstractVisitable
。在 c++ 中,我认为这是有风险的,因为this
在 AbstractVisitable 中可能引用AbstractVisitable::this
,而不是ConcreteVisitable::this
。我担心某些情况下的代码会打印class AbstractVisible
. 然而,上面的代码输出class ConcreteVisitable
,即使我将真实类型隐藏在动态代理后面(我能想到的最困难的情况)。上面的抽象访问者方法是否可以保证工作,或者这种方法是否存在一些缺陷?
this
Java 中关于指针的保证是什么?
python - 虚拟课程:做对了吗?
我一直在阅读描述类继承、抽象基类甚至 python 接口的文档。但没有什么接缝正是我想要的。即,一种构建虚拟类的简单方法。当调用虚拟类时,我希望它根据给定的参数实例化一些更具体的类,并将其交还给调用函数。现在,我有一个总结方法,可以将对虚拟类的调用重新路由到底层类。
思路如下:
我的重新路由远非最佳,因为仅传递对 number_of_edges() 函数的调用。将这样的东西添加到 Shape 也不能达到目的:
我做错了什么?整个想法实施得不好?非常感谢任何帮助。
delphi - Delphi 6:在缺少抽象类方法时强制编译器错误?
我正在使用 Delphi Pro 6。现在,知道一个类是否缺少基类抽象方法的唯一方法是等待 IDE 发出一个包含抽象方法 {base class. abstract method name}" 警告或在尝试调用缺少的方法时等待运行时抽象错误方法。前者是不够的,因为它只为那些在当前项目中实际构建的派生类找到警告。后者简直是痛苦的。
如果 Delphi 为所有未立即声明/实现基类抽象方法的类输出致命警告会好得多。有谁知道一种设置方法或这样做的插件?
谢谢。
boost - ptr_map 和指针
我正在使用来自 boost 的 ptr_map 来存储从某些基本抽象类型派生的对象。
插入效果很好:
但不从地图返回:
现在的问题是:ptr_map的operator[]返回引用!所以在构造中可能有从值调用类型。现在编译器失败并出现错误:
如果 ptr_map 中有任何方法返回指向该值的指针,则不会有任何问题。对此你有什么想说的?
c# - 如何使用抽象基类继承内部类?
我正在尝试创建一个使用内部类组织其测试方法的测试类。我希望这个类是抽象的,能够设置一个静态属性,以便可以注入这个属性。这是我正在谈论的一个例子:
但是,我没有在我的单元测试视图中看到 DerivedUnitTest+WhenFoo+TestFoo() 类。我正在使用 Visual Studio 2010。我猜当我覆盖 BaseUnitTest 时,我也不会覆盖它的内部类。我想我可以将其内部类抽象化并稍后覆盖它们,但是随着我的测试类的复杂性增加,这将变得非常烦人。有人可以解释为什么会发生这种情况以及我该如何解决?
谢谢。
编辑:
我觉得我需要更好地解释我想要这样做的原因。我们想实现一个命名非常冗长的测试标准。因此,测试类看起来像这样:
这样做的好处是,当您在 Visual Studio 中打开测试视图并显示方法名称和类名称列时,您会得到如下所示的内容:
这使得在几百个通过测试中判断失败的测试应该做什么变得容易得多。
我希望能够覆盖抽象 BaseUnitTest 的主要原因是因为当我执行 BaseUnitTest 中包含的所有测试时,都将添加到 DerivedUnitTest 并显示在 Visual Studio 的测试视图中。
再次感谢。