问题标签 [abstract-methods]

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 投票
5 回答
268 浏览

python - 如何要求在 Python 中实现方法?

我在 Python 中使用鸭子打字。

不同对象作为 传入的地方object_to_flag,都具有is_active, is_spam,is_offensive属性。他们也碰巧有一个cleanup()方法。

我传入的对象都具有相同的基类(它们是 Google App Engine 中的 db 对象):

我怎样才能使cleanup()方法抽象,以便我可以为所有这些需要子提供实现的对象拥有相同的父类?

也许更重要的是,这是“pythonic”吗?我应该走这条路,还是应该只依靠鸭子打字?我的背景是 Java,我正在尝试学习 Python 的做事方式。

谢谢!

0 投票
2 回答
864 浏览

c# - 为 WCF 保留抽象方法服务器端的方法

我们正在强制执行所有域对象来实现 GetHashCode。

当我们通过 WCF 公开这些域对象时,以下生成的服务需要更新后修改才能编译。

关于如何保持对 GetHashCode 的要求,但删除客户端上任何代码的要求(作为更新或作为部分类)的任何想法?

0 投票
2 回答
189 浏览

c# - 提供通用和派生组合功能的抽象/虚拟成员 - C#

我以前做过这个 - 只是不记得诀窍了。

如果我有一个抽象类:

公共抽象类 Post

以及一组派生类:

公开课 照片 : Post

我想强制派生类实现一个名为Validate()的方法,但同时在Post级别提供核心验证。

我可以创建一个方法:public abstract void Validate() in Post,这将强制派生类实现该方法,但是我如何执行Post(基础)验证?

最终结果是我希望能够做到这一点:

我该怎么做?

0 投票
3 回答
2383 浏览

python - 我应该在这个 Python 场景中使用抽象方法吗?

我不确定我的方法是否是好的设计,我希望我能得到一个小费。我正在考虑抽象方法的某个地方,但在这种情况下,我希望该方法是可选的。这就是我现在正在做的...

在上面的示例中,我只是在 PyMEL 中为 Maya 创建了 2 个圆弧,但我完全打算创建更多可能有也可能没有 createDrivers 方法的子类!所以我希望它是可选的,我想知道我的方法是否——好吧,我的方法是否可以改进?

0 投票
1 回答
924 浏览

java - JAXB 2.x:抽象方法被编组为属性

我有一个抽象根类,比方说A

而且我有几个扩展的实现类A

A具有 FIELD 注释以及一些@XmlElement带注释的属性。

A还有一个抽象方法。

编组 ( B extends A) 时,抽象方法返回的值被编组为属性。不像预期的那样,对吧?

有没有人有同样的问题,如何解决?

我正在使用 org.eclipse.persistence.moxy 2.1.2

0 投票
5 回答
2432 浏览

c# - 更改继承类中的抽象方法签名

想象一下,我有一个名为 Engine 的类作为抽象基类。我也有从它派生的 ElectrictEngine 和 FuelEngine 类。

我想创建一种为发动机加油的方法。我是否应该将其作为基类级别的抽象方法并以通用方式命名,例如fillUpEnergy?

问题是,如果我有一个电动发动机,该方法采用的参数数量与燃料发动机需要传递的参数数量不同。所以,方法的签名是不同的。

此外,是否有任何聪明的方法可以为两个引擎使用通用方法,但用更具体的名称包装它?例如:对于燃油发动机,“refuel”,对于电动发动机,“chargeBattery”?同时对用户隐藏通用方法?

0 投票
6 回答
10106 浏览

c# - 抽象方法使用 vs 常规方法

我想知道两种约定之间的区别:

  1. 使用抽象方法创建一个抽象基类,该方法稍后将在派生类上实现。
  2. 创建一个没有抽象方法的抽象基类,
    但稍后在派生类的级别添加相关方法。

有什么区别?

0 投票
4 回答
191 浏览

java - 为什么你需要知道抽象类的方法是否是抽象的

我被问了一个问题。如下:

抽象类的 API 文档告诉您方法是否是抽象的。您何时以及为什么需要知道这一点?

任何帮助,将不胜感激。

0 投票
5 回答
138 浏览

c# - 请在使用抽象方法时解释此模式

我在很多地方看到过以下模式:

我不明白实际的区别,为什么不直接写成:


更新:上面的代码片段取自Ninject没有指定接口的文档,但是查看实际源代码,我可以看到SimpleProvider<T>实现了接口IProvider,它解释了子调用的需要并回答了我的问题。

0 投票
1 回答
1281 浏览

python - 检查模块中的类是否实现了正确的接口

我有以下界面:

我有一组模块都在同一个目录中。每个模块都包含一个实现我的接口的类。

例如 Launch.py​​ :

假设我有 20 个模块,实现了 20 个类。我希望能够启动一个模块来检查某些类是否没有实现接口。

我知道我必须使用:

  • issubclass(Launch, ProcessInterface) 以了解某个类是否实现了我的流程接口。
  • 内省以获取我模块中的类。
  • 在运行时导入模块

我只是不知道该怎么做。我可以设法在模块内使用 issubclass 。但是如果我在模块之外,我不能使用 issubclass。

我需要 :

  1. 获取目录中所有模块的列表
  2. 获取每个模块中的类
  3. 在每个类上做 issubclass

我需要一个可以做到这一点的功能草案。