当前位置: 备案域名出售 > 建站教程>正文

跨语言继承

在过去,如果用一种语言子类编写组件,然后再用另一种语言子类来扩展该组件,这是非常困难的,或者说事实上是几乎不可能的。用C++编写一个类,再用VB来继承它以创建一个新的对象,像这样的事是绝对不可能发生的。如果没有父对象的或者至少头文件的源代码,我们同样也没办法使用一个已编译成二进制的组件(即使这组件是用同一种语言编写的)并从中派生出一个新的对象。

不过,由于有了CLR,我们就可以解决上述问题。与.NET类相关的元数据提供了足够多的信息(甚至是以已编译的形式),使我们可以从现有的类中派生出新类。CLR可以让我们做的另一件事情是一种不同的语言派生一个新类。过去要派生一个新类得拥有基类的源代码才行,而且编写新类所用的语言必须与基类所使用的语言相同。但是现在所有的CLR语言都编译成中间语言,所以用户可以使用任何一种CLR语言派生新类。

跨语言继承,正如我们所猜想的,还可以使得调试更为简单。在进行调试时我们用不着考虑代码是用何种语言编写的,所要做的只是对代码进行调试,然后CLR会让我们从一种语言到另一种语言进行跟踪,对开发人员来说这是一个自动而且透明的过程。我们甚至可以跨语言处理异常,并且不用担心转换语言时对信息进行翻译和修改——因为CLR使这一切都透明化了。

« 上一篇下一篇 »