ACDK指南- 一个简单的类
翻译:薛长宇
我们现在想你介绍ACDK的对象类
本章包含的内容:
C++-类
简单的 ACDK-类
ACDK类
C++-类
因为ACDK仍然是C++,你可以按习惯定义普通的C++类
class AClass
{
int _val;
public:
AClass()
: _val(42)
{
}
};
简单的 ACDK-类
去定义一个ACDK-类, 你需要让他继承于 acdk::lang::Object 或者 其他的 ACDK-类:
#include <acdk.h>
// 定义 RAClass, AClassArray 和RAClassArray
ACDK_DECL_CLASS(AClass);
class AClass
: extends acdk::lang::Object
{
int _val;
public:
AClass(int number)
: Object()
, _val(number)
{
}
};
RAClass aclass = new AClass(42);
ACDK 类
另一个分别使用头文件和源文件的ACDK类的例子:
// AClass.h
#include <acdk.h>
// 定义 RAClass, AClassArray 和 RAClassArray
ACDK_DECL_CLASS(AClass);
class AClass
: extends acdk::lang::Object
{
private:
int _val; //基本类型
RString _label; // 成员
public:
AClass(int number = 0)
: Object()
, _val(number)
, _label(new String("")) //初始化空字符串
{
}
virtual RString getLabel() { return _label; }
virtual void setLabel(RString newlabel} { _label = newlabel; }
virtual int calcLengthOfOldLabel();
static int calcLengthOfString(RString str);
};
// AClass.cpp
//虚函数
int
AClass::calcLengthOfOldLabel()
{
if (_label == Nil)
return _val;
return _val = _label->length();
}
//静态
int
AClass::calcLengthOfString(RString str)
{
RAClass aclass = new AClass();
aclass->setLabel(str);
return aclass->calcLengthOfOldLabel();
}
这是我随意翻译的一篇文章,介绍分布式framework ACDK。这是一个国外很多人在用,但是国内却没有介绍的项目。希望大家能喜欢,因为很随意,所以没有对文中的内容翻译进行校对,因此难免很多缺憾,请大家原谅
翻译:薛长宇
2004-12