![]() |
1
25
ruby中没有接口,因为ruby是一种动态类型语言。接口基本上用于在不破坏类型安全的情况下使不同的类可互换。您的代码可以与每个控制台一起工作,只要它的行为类似于控制台(在C中,它意味着实现IConsole)“duck typing”是一个关键字,您可以使用它来跟上动态语言处理此类问题的方式。
此外,您可以而且应该编写单元测试来验证代码的行为。每个物体都有一个
|
![]() |
2
15
鲁比有 接口
这是一个抽象的规范的责任,保证和协议的一个单位的概念
区分两者是非常重要的。重要的是
,而不是
所以,如果两个
另一个很好的例子:
什么是
属于
那些人中哪一个真的出现在
这是一个完全有效的实现
请注意,有
其他
使用的语言
实际上可以用一种有意义的方式来描述。但是,这些语言通常不调用描述
接口
而且,就像在爪哇一样, 验收试验 接口
接口
物体的形状取决于它能做什么
,不是什么
另一个例子是
|
![]() |
3
5
接口通常被引入到静态类型的OO语言中,以弥补多重继承的不足。换句话说,他们更多的是一个必要的邪恶,而不是有用的东西 本身 .
|
![]() |
6
0
Jorg有一个很好的观点,ruby有接口,只是没有关键字。在阅读一些回复时,我认为这在动态语言中是否定的。您必须创建单元测试,而不是让编译器捕获未实现的方法,而不是通过该语言强制执行接口。这也使得理解方法更难推理,因为当你试图调用对象时,你必须找出它是什么。 举个例子:
|
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
![]() |
randomDud · C#从另一个接口重写接口方法 3 年前 |
![]() |
evilsushi · C#接口不允许成员类满足要求 7 年前 |