我经常听到这个短语,但并不完全理解它的含义。它是什么意思?如果有可能,请举个例子。
谢谢!
Grobble
的方法并想知道它的作用,所以你打开定义并看到了这个:class FooHandler
{
void Grobble(Foo foo)
{
foo.Grobble();
}
}
那么你现在看的是 Foo.Grobble
:
class Foo
{
FooImpl _fooImpl;
void Grobble()
{
_fooImpl.Grobble();
}
}
这会带你到FooImpl
,它看起来像这样:
class FooImpl
{
void Grobble()
{
this.Grobble(false);
}
// etc...
}
在深入代码的过程中,仍然无法看到尽头时,你可以沮丧地喊出“这就是一只又一只的乌龟!”
这个比喻指的是地球在一只乌龟的背上。那这只乌龟又站在什么东西上呢?还是一只乌龟...以此类推。
注意:metaphor 指的是隐喻的意思。
这通常指的是自托管编程语言,其中解释器或编译器是用被解释/编译的相同语言编写的。它也可以指该语言的库是用该语言本身编写的。
Smalltalk和Lisp以此闻名。
有时候,人们用它来指代“纯”面向对象(或函数式)语言。在Java、C#、C++、Objective C和Delphi等语言中,存在着不像对象那样行为的本地类型(如int)。而在Smalltalk中,这种错觉得到了更好的维护。