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到底什么时候什么值 我比较容易混 越详细越好 好的话有追加…… 展开
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到底什么时候什么值 我比较容易混 越详细越好 好的话有追加…… 展开
展开全部
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
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
更多追问追答
追问
什么时候被屏蔽 什么时候 赋值改变呢?
追答
本作用域如果声明了与公有变量或者上面各层局部变量同名的局部变量,则与该局部变量同名的公有变量或者上面各层局部变量被屏蔽,这样在这个模块中的赋值改变的就是本层的局部变量,与那些被屏蔽的变量无关
一旦退出了本模块(不是进入到更下一层),这个屏蔽就取消了,那个程序就是如此
展开全部
我说的没有那么专业,大致就是:
private A,B
&& A,B成了私有变量,和上面的A,B没有关系,只在"PROECDURE CX1……RETURN
这个区域用 。S没有变成私有变量,在整个模块中只用,A,B 变了,S=A+B就变了
private A,B
&& A,B成了私有变量,和上面的A,B没有关系,只在"PROECDURE CX1……RETURN
这个区域用 。S没有变成私有变量,在整个模块中只用,A,B 变了,S=A+B就变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是问的public与public的区别吗
追问
请看补充
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询