ACDK指南-ACDK 基础

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

ACDK指南-ACDK 基础

翻译:薛长宇

我们现在将向你介绍ACDK基础.

本章内容:

建立对象

访问方法

存取字段

释放对象

复制引用

复制实例

参数和返回值

建立对象

使用'new'建立一个新对象.

保存这个新对象到一个引用中.

一个指向一个对象的引用的类型是R+类的名字,例如StringBuffer的引用的类型是RStringBuffer.

{

RStringBuffer sb = new StringBuffer();

}

访问方法

与Java不同, 对于静态或者动态的方法访问方式是不同的.

{

RStringBuffer sb = new StringBuffer();

sb->append("Hi"); // non static call

RString str = String::valueOf(3.4); // static call

}

存取字段

一般情况下,访问类的字段不通过set/get方法的封装直接访问不是一个好主意.

释放对象

对象被释放. 如果最后的指向这个对象的引用消失,他们将自动地被释放。

作为一种选择,你也可以直接赋Nil值给这个引用:

{

RStringBuffer sb1 = new StringBuffer("M");

sb1->append("JA");

sb1 = Nil;

// sb1 不再保存StringBuffer, StringBuffer 将被移除

}

复制引用

如果你想复制引用,你可以很容易地这样做:

{

RStringBuffer sb1 = new StringBuffer("M");

RStringBuffer sb2 = sb1; // sb2 将含有相同的StringBuffer的实例

sb2->append("A");

sb1->append("JA"); // StringBuffer 因为的内容是 "MAJA” (原文写的时“ACDK”,但我认为是作者的笔误)

}

参看:引用.

复制实例

在ACDK中,可以复制一个实例(不仅仅是引用)

{

RStringBuffer sb1 = new StringBuffer("M");

RStringBuffer sb2 = sb1->clone(); // sb2 包含一个复制品

sb2->append("A");

sb1->append("JA");

// sb2 的内容 "MA"

// sb1 的内容 "AJA"

}

参数和返回值

默认情况,仅仅引用可以被作为方法的参数或者返回值。

类似于Java中的规则.

RInteger myParse(RStringBuffer arg)

{

RString str = arg->toString();

RInteger erg = Integer::parseInt(str);

return erg;

}

// 相同的, 但是更加'inlined'的版本

RInteger myParse(RStringBuffer arg)

{

return Integer::parseInt(arg->toString());

这是我随意翻译的一篇文章,介绍分布式framework ACDK。这是一个国外很多人在用,但是国内却没有介绍的项目。希望大家能喜欢,因为很随意,所以没有对文中的内容翻译进行校对,因此难免很多缺憾,请大家原谅

翻译:薛长宇

2004-12

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有