分裂对象模型和TclCL(1)

   看了ns2一段时间,却发现今天看了的东西等过两天再看的时候又变得陌生,不得不又重头看起,如此循环,学习效率大大降低,于是乎想到把看过的知识都总结一下,以备日后查看快速上手。各位路过的朋友,如发现笔记中有欠妥的地方,请不啬赐教,鄙人感激不尽。

  分裂对象模型:NS中的构件(构件库是一个层次结构)一般都是由相互关联的两个类来实现的,一个在c++中,一个在Otcl中。C++:实现构件的主要功能。Otcl的类:提供C++对象面向用户的接口。

NS 中使用分裂对象模型(OtclC++)的好处:

C++:运行速度快,容易实现精确的、复杂的算法,用于具体协议的实现。

Otcl:运行速度慢,但可以方便地修改,不是强制类型的,不容易出错,用来做模拟配置。

NS通过TclCL把两种语言中的对象和变量联系起来。C++中的类(编译类)和Otcl的类(解释类)通常具有对应关系,两边的类的继承关系也一致,这两个类互为影像类”。在实例化一个构件时,会同时创建一个Otcl中的对象和一个对应的C++对象,并且这两个对象可以互操作。

TclCL主要通过TclObjectTclClass类来实现关联。

TclObject是所有编译类的基类,解释类的基类是SplitObject。每个编译对象都是当用户从解释器中创建解释对象的同时在C++类结构中产生出的影像对象。类TclClass包含执行这种影像的机制。

posted on 2011-08-28 16:04  心月  阅读(310)  评论(0编辑  收藏  举报