标签: abstract-class

何时使用接口而不是抽象类,反之亦然?

这可能是一个通用的OOP问题.我想根据它们的用法在接口和抽象类之间进行一般性比较.

什么时候想要使用接口?何时想要使用抽象类

oop inheritance abstract-class interface

412
推荐指数
13
解决办法
31万
查看次数

接口或抽象类:使用哪一个?

请解释我何时应该使用PHP interface以及何时使用PHP abstract class

我如何才能改变自己abstract class的态度interface

php oop abstract-class interface

316
推荐指数
10
解决办法
11万
查看次数

269
推荐指数
4
解决办法
19万
查看次数

是否可以在Python中创建抽象类?

如何在Python中创建类或方法摘要?

我试着__new__()像这样重新定义:

class F:
    def __new__(cls):
        raise Exception("Unable to create an instance of abstract class %s" %cls)
Run Code Online (Sandbox Code Playgroud)

但是现在如果我创建一个G继承自F这样的类:

class G(F):
    pass
Run Code Online (Sandbox Code Playgroud)

然后我也无法实例化G,因为它调用了它的超类__new__方法.

有没有更好的方法来定义抽象类?

python inheritance abstract-class class abstract

268
推荐指数
6
解决办法
17万
查看次数

使用Mockito测试抽象类

我想测试一个抽象类.当然,我可以手动编写一个继承自该类的模拟.

我可以使用模拟框架(我使用的是Mockito)而不是手工制作我的模拟吗?怎么样?

java abstract-class unit-testing mocking mockito

202
推荐指数
8
解决办法
15万
查看次数

C#中抽象类的构造函数

为什么可以在C#中为抽象类编写构造函数?
据我所知,我们无法实例化一个抽象类..那么它的用途是什么?
你无法实例化这个类,对吧?

c# constructor abstract-class

193
推荐指数
6
解决办法
16万
查看次数

为什么在Python中使用抽象基类?

因为我习惯于在Python中使用旧的鸭子打字方式,所以我无法理解对ABC(抽象基类)的需求.的帮助下是如何使用它们好.

我试图在PEP中阅读理由,但它超越了我的脑海.如果我正在寻找一个可变序列容器,我会检查__setitem__,或者更有可能尝试使用它(EAFP).我没有遇到数字模块的实际用途,它确实使用了ABC,但这是我必须理解的最接近的数字模块.

有人能解释一下我的理由吗?

python abstract-class abc

192
推荐指数
5
解决办法
6万
查看次数

ECMAScript 6是否有抽象类约定?

我很惊讶在阅读ES6时我找不到关于抽象类的任何内容.(通过"抽象类"我正在谈论它的Java含义,其中抽象类声明了子类必须实现的方法签名才能实现可实现化).

有没有人知道在ES6中实现抽象类的任何约定?能够通过静态分析捕获抽象类违规会很好.

如果我在运行时提出错误来表示尝试抽象类实例化,那么错误是什么?

javascript oop abstract-class ecmascript-6

151
推荐指数
1
解决办法
7万
查看次数

为什么纯虚函数初始化为0?

我们总是声明一个纯虚函数:

virtual void fun () = 0 ;
Run Code Online (Sandbox Code Playgroud)

即,它总是被赋值为0.

我的理解是,这是将此函数的vtable条目初始化为NULL,此处的任何其他值都会导致编译时错误.这种理解是否正确?

c++ abstract-class pure-virtual

145
推荐指数
7
解决办法
5万
查看次数

测试抽象类

如何使用PHPUnit测试抽象类的具体方法?

我希望我必须创建某种对象作为测试的一部分.虽然,我不知道最好的做法,或者如果PHPUnit允许这样做.

phpunit abstract-class unit-testing

137
推荐指数
3
解决办法
5万
查看次数