请教declare中各种类型变量的作用范围?

wlalw131415 2009-03-05 05:50:00
global variables 作用范围
instance variables 作用范围
shared variables 作用范围
global external functions 作用范围,和Function选项卡里定义的函数有什么区别?
local external functions 作用范围,和Function选项卡里定义的函数有什么区别?
...全文
198 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bounty 2009-03-07
  • 打赏
  • 举报
回复
不好意思,我对shared variables的解释有误,4楼的为正解!楼主已给我加分了,惭愧!

我之前的回复:
shared variables:共享变量!在类(对象)中定义了这个变量,那么继承了这个类的子类或其本身对此变量进行修改,对继承体系内的
所有对象都有效,如类A有两个子类B,C,在A中定义了Shared variables:i=0,那么不论A,B,C是谁修改了i,在A,B,C中得到的都是修改
后的值,即体系内的实例共享些变量!

更正一下:
以上的提到的子类是不可以修改父类的shared variables的!

对楼主表示歉意,感谢4楼给出正确解释!

不知这个加分怎么还给你,受之有愧!
Divina 2009-03-06
  • 打赏
  • 举报
回复
我在网上找的 看shared即可

1 全局变量(Global variables)

全局变量定义为可以在整个应用程序中访问并存储在应用对象中的变量,与其他编程语言一样,应该使全局变量的数目保持为最小,因为在任何脚本中的任何地方均可修改全局变量,从而导致全局变量在维护上的混乱。全局变量在应用程序执行期间使用一块内存区域,第一次打开应用程序的时候,对全局变量进行初始化。

2实例变量(Instance variables)

实例变量在一个对象(应用程序、窗口、用户对象或菜单)中定义,因而可以在该对象内部各事件处理、函数调用中均可以访问到该对象的实例变量。

实例变量是在生成所依附的对象时才被创建,在该对象存在期间可以对实例变量进行赋值、修改、引用,当对象被销毁时,实例变量同时被删除,其所占内存也相应被释放。同属一类的两个对象不能共同使用一个实例变量。

3局部变量(Local variables)

局部变量就是在脚本层定义的变量,它们的生存周期就在该脚本的范围内,超过该脚本后,局部变量自动被删除,它经常被用来保存数据计算的中间结果。

4 共享变量(Shared variable)

共享变量在与实例变量相同的对象中定义。然而共享变量与实际的类定义相关联,而不是与对象的实例相关联。这意味着同一个类的所有实例变量共享同一变量。

共享变量总是一个Private类型的变量,只能在定义它们的类中对它们进行访问。

在第一次创建该类的实例的时候初始化该共享变量。随后当删除该类的实例后,共享变量并不消失,当再次创建该类的另一个实例的时候,共享变量保存着删除之前的设置(即可以保存上次关闭是的最后修改值)。如果用户同时创建了该类的多个实例,则它们均访问同一个共享变量。
bounty 2009-03-06
  • 打赏
  • 举报
回复
shared variables:共享变量!在类(对象)中定义了这个变量,那么继承了这个类的子类或其本身对此变量进行修改,对继承体系内的
所有对象都有效,如类A有两个子类B,C,在A中定义了Shared variables:i=0,那么不论A,B,C是谁修改了i,在A,B,C中得到的都是修改
后的值,即体系内的实例共享些变量!
l_chlmh 2009-03-06
  • 打赏
  • 举报
回复
shared variables 用的还真不多.
mnsiii 2009-03-06
  • 打赏
  • 举报
回复
你们说的实在是太完整了
eviler 2009-03-05
  • 打赏
  • 举报
回复
global variables 应用程序随处都可以使用
instance variables 本对象内部使用 ,如: 在窗口使用定义 ,那么在窗口的任何地方,窗口中任何控件的 事件中都可以使用
shared variables 这个我说不明白 ,貌似类似: java中的 静态变量 ,多个类共用
global external functions 这个是定义外部的函数的,一般是说明 api函数用的 ,声明之后,程序任何地方都可以使用这个API函数
local external functions 类似实例变量 ,本对象对不可见

楼下补充,谢谢
wlalw131415 2009-03-05
  • 打赏
  • 举报
回复
自己顶一下

743

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧