C#中的属性定义为public和定义为private再使用get()set()方法有区别吗

C#中的属性定义为public和定义为private再使用get()set()方法有区别吗,第1张

1

有。

2

首先更正下那个不叫属性那个叫成员变量,C#中的属性就和方法差不多,也能起到保护成员变量的作用。使用public的成员变量不太安全,什么样的类型都能赋值。如果是用private,在set、get方法中可以对其进行验证合法性,私有的成员变量就被方法保护起来了。

页面上的代码没有问题,当然除了少<% } %>这个东西,如果不是这个原因的话,那你可以先在GoodsInfo gi = (GoodsInfo) allinfoget(i);

这后面输出一句话,如果没有那就是你的GET方法有问题,只可能这样,没有其它解释

首先,并不是说你一打开一个页面就会产生一个session。

所谓session你可以这样理解:当你与服务端进行会话时,比如说登陆成功后,服务端会为你开壁一块内存区间,用以存放你这次会话的一些内容,比如说用户名之类的。那么就需要一个东西来标志这个内存区间是你的而不是别人的,这个东西就是 session id ( jsessionid 只是tomcat中对session id的叫法,在其它容器里面,不一定就是叫jsessionid了。),而这个内存区间你可以理解为session。

然后,服务器会将这个session id发回给你的浏览器,放入你的浏览器的cookies中(这个cookies是内存cookies,跟一般的不一样,它会随着浏览器的关闭而消失)

'''

options = webdriverChromeOptions()

optionsadd_argument('--headless') # 可以使用无头模式

driver = webdriverChrome(executable_path=CHROME_DRIVER_PATH, chrome_options=options)

driverget(URL) # 打开一个地址

cookie = driverget_cookies() #获取所有cookie列表

hsession = cookie[0]['value']

'''

在Chrome的开发者工具的application/cookie里面可以查到你要访问的session

招聘顺丰科技

测试工程师( 薪资15-25k)

岗位描述

java的set和get方法不会在栈中存储,它们只是普通的函数,它们的参数和返回值会存储在栈中。set和get方法的作用是访问和修改类的属性,它们可以在类的内部定义,也可以在外部定义,但是它们都不会在栈中存储。set方法用来修改类的属性值,get方法用来获取类的属性值。set和get方法不会将属性值存储在栈中,而是将属性值存储在堆内存中。因此,set和get方法不会在栈中存储。

其实 set get方法 你就理解为 修改属性值 和 获取属性值的方法

get方法获取属性值 在get方法里面 你可以自己定义规则 然后返回结果

set方法里面 你可以 自己定义规则 根据输入的值 来改变 对应的属性值 或者其他的属性值

不要只用 普通的get set 如果你用普通的get set 还不如 直接用public

因为 你如果是自己的 类 又不提供给外部使用 完全没必要get set

相对的 直接public 还方便 内存消耗还小一些(虽然现在基本不要考虑)

以上就是关于C#中的属性定义为public和定义为private再使用get()set()方法有区别吗全部的内容,包括:C#中的属性定义为public和定义为private再使用get()set()方法有区别吗、Java get方法,返回null、使用selenium获取HSESSION(JSESSION)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10622972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存