MTIK自带的类对我们很有借鉴意义,编写自己的插件时,如果想改写MITK自带的类,那么最好不要在源代码中更改,而是自己新建一个类,将MITK自带的类移植过来。这个方法同样适用于想在名称空间mitk中添加自定义类。
下面看一个例子。
MITK中自带的mitkPointSetDataInteractor.h,结构大致如下:
#include "..."
namespace mitk
{
class MITK_CORE_EXPORT PointSetDataInteractor: public DataInteractor
{
...........
};
}
如果想使用上面头文件中已经写好的函数,同时还想添加自己的函数,可以在自己的插件中新建一个类,比如mitkPointSetDataInteractorCustom.h,其结构可大致如下:
#include "..."
namespace mitk
{
//这里没有MITK_CORE_EXPORT
class PointSetDataInteractorCustom: public DataInteractor
{
...........//把mitkPointSetDataInteractor的代码复制过来
//.cpp文件也是一样,同时把类名
//mitkPointSetDataInteractor全部替换为
//mitkPointSetDataInteractorCustom即可
};
}
从上面两个代码看到,自定义的MITK类和MITK自带类最大的区别是去掉了MITK_CORE_EXPORT。这是因为MITK_CORE_EXPORT的意思是想把生成的类加入到mitk/core/模块中,我们自己定义的类不能加入到这个模块,当然就无需这一句话。