一个类的不同实例之间如何可以互相访问?(50分)

  • 主题发起人 主题发起人 ycxy
  • 开始时间 开始时间
DELPHI的类不提供静态变量.
 
我不明白,你所说的互相访问,有没有一定的范围。如:
var edit1,edit2:Tedit
//建立两个Tedit类的实例,分别名为edit1,edit2
像上面的两个实例可以用以下语句。
edit1.text:='one';
edit2.text:=edit1.text;//我不知道这句算不算互相访问。
 
你的"之间"是什么之间?
实例的所有者是什么关系?
 
也就实说自己见了一个类CS,CS里有一个public变量VV
见了两个实例CS1、CS2
想实现在CS1里设置CS2.VV的值
 
可以用一个全局变量,类里写两个过程分别可以对变量进行读写(传参的方法)
这样就可以类的一个实例改变这个变量,另外一个实例读取到的就是改变了的变量了
 
全局变量是不行的
因为我的类的实例不止2个,一般是8~16个左右,
我现在是通过数组来传递的
感觉不爽
 
yjfculy说的是已经实例化以后的情况
我的想法是在类的内部实现
原因是原来的规划不好
因为类的内部函数需要去设置不同实例的变量
看样子有问题
也就是类CS的public函数内设置CS的实例CS[1],CS[2]...等的Public变量
这个问题应该如何解决呢?类如何规划才合理呢?
 
没辙, 除非提供变量(不管是全局的还是在类实例内的)来记录其它类实例的地址.
如果没有额外信息, 在一个类实例中它怎么可能知道其它的类实例被操作系统分配到那块内存了呢?
 
后退
顶部