VF程序设计 public与private的问题

SETTALKOFFCLEARPUBLICASTORE3TOA,BDOCX1S=S+A+B?SSETTALKONRETUNPROECDURECX1PUBLICSPRIVA... SET TALK OFF
CLEAR
PUBLIC A
STORE 3 TO A,B
DO CX1
S=S+A+B
?S
SET TALK ON
RETUN

PROECDURE CX1
PUBLIC S
PRIVATE A,B
STORE 1 TO A,B,S
S=A+B
?S
RETURN

请高手帮我讲解一下这道题 并解答一下 A B到底什么时候什么值 我比较容易混 越详细越好 好的话有追加……
展开
 我来答
chiconysun
推荐于2016-01-29 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2588万
展开全部
SET TALK OFF
CLEAR
PUBLIC A && 公有变量A
STORE 3 TO A,B && 公有A,私有B均赋值3
DO CX1 && 调用过程后公有A、本层私有B并未改变,公有S改变为2
S=S+A+B && 公有S被赋值2+3+3 =8
?S && 显示8
SET TALK ON
RETUN

PROECDURE CX1
PUBLIC S && 公有S
PRIVATE A,B && 私有变量A, B ,这里公有A和上一层私有B 被屏蔽
STORE 1 TO A,B,S && 公有S,本层私有A、B被赋值1
S=A+B && 公有S 赋值1+1 =2
?S && 显示2
RETURN
更多追问追答
追问
什么时候被屏蔽  什么时候  赋值改变呢?
追答
本作用域如果声明了与公有变量或者上面各层局部变量同名的局部变量,则与该局部变量同名的公有变量或者上面各层局部变量被屏蔽,这样在这个模块中的赋值改变的就是本层的局部变量,与那些被屏蔽的变量无关
一旦退出了本模块(不是进入到更下一层),这个屏蔽就取消了,那个程序就是如此
FREDINAND_
2011-04-03 · 超过22用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:46.7万
展开全部
我说的没有那么专业,大致就是:
private A,B
&& A,B成了私有变量,和上面的A,B没有关系,只在"PROECDURE CX1……RETURN
这个区域用 。S没有变成私有变量,在整个模块中只用,A,B 变了,S=A+B就变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yegui489469854
2011-04-03
知道答主
回答量:18
采纳率:0%
帮助的人:7.4万
展开全部
你是问的public与public的区别吗
追问
请看补充
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式