社区
C#
帖子详情
变量/字段哪个更好?
scu_cs
2009-04-24 03:41:38
我在类里面有一些变量是private的,只有类内的方法可以访问,想问一下这种变量到底有没有必要封装成字段(或者叫属性)?一般的做法是怎么样的,封装还是不封装?
还有,引用类型封装过之后访问与不封装访问有区别吗?
...全文
108
13
打赏
收藏
变量/字段哪个更好?
我在类里面有一些变量是private的,只有类内的方法可以访问,想问一下这种变量到底有没有必要封装成字段(或者叫属性)?一般的做法是怎么样的,封装还是不封装? 还有,引用类型封装过之后访问与不封装访问有区别吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bagegejin
2009-04-25
打赏
举报
回复
暴露属性是为了外部访问的呀
scu_cs
2009-04-25
打赏
举报
回复
谢谢上面的各位。基本了解了。
wangpai6698
2009-04-25
打赏
举报
回复
我觉得其实 用变量和用属性区别不是太大,但是用属性还是更好些,因为属性可以自由的设置值和获得它的值,在写程序时可以更容易的管理,而用变量多了就显得不容易控制了。当然,用到变量的地方都完全可以由属性去取代。
guzhonghua
2009-04-25
打赏
举报
回复
那就没必要了
public string str;
和
private string _str
public string Str
{
get{}
set{}
}
是一样的
属性是为了封装,如果你不需要封装 干脆就直接提供字段
public
ligongkel
2009-04-24
打赏
举报
回复
学习学习
scu_cs
2009-04-24
打赏
举报
回复
[Quote=引用 5 楼 guzhonghua 的回复:]
字段是字段 属性是属性 理解错误
private string str=“”;//这个叫私有变量
public string str="";这个可以叫公共字段
public string Str//这个才是属性
{
get{}
set{}
}
至于你说的需不需要封装 那要看你是否有必要
封装的好处是在你获得或是赋值的时候,可以更好的控制。
[/Quote]
如果我不需要控制(不做任何赋值检查),只是直接赋值呢?需不需要把字段封装成属性?
蓝海D鱼
2009-04-24
打赏
举报
回复
当你需要 外部 用到的 才封装, 用不到 就不用
scu_cs
2009-04-24
打赏
举报
回复
汗了,受人误导,一直以为字段就是属性……
guzhonghua
2009-04-24
打赏
举报
回复
字段是字段 属性是属性 理解错误
private string str=“”;//这个叫私有变量
public string str="";这个可以叫公共字段
public string Str//这个才是属性
{
get{}
set{}
}
至于你说的需不需要封装 那要看你是否有必要
封装的好处是在你获得或是赋值的时候,可以更好的控制。
cppfaq
2009-04-24
打赏
举报
回复
private的东西不封装也罢
如果要公开给外部访问则需要以property的形式来公开以达到更好的封装效果
MicrosoftCenterOfHN
2009-04-24
打赏
举报
回复
首先,你说的那些个变量在这里应该叫做字段.所以先把字段和属性的定义搞清楚.
如果只在类内访问,可以不封装,但不符合设计的规范.一般的做法是封装成公共的属性的.可以设置只读呀能写能读,当然了也可设置只写(但这没有意义,应用方法来处理这种情况)
引用类型封装之后有没有区别,看你在get{}和set{}里面有没有做处理了.如果没有做什么使之变更的处理,那是没有什么区别的.另外,理论上访问属性比访问字段要慢一些,但对于项目来说,根本不用考虑这点性能损失.
xyllimin
2009-04-24
打赏
举报
回复
不晓得啊
jdbcodbc
2009-04-24
打赏
举报
回复
[Quote=引用楼主 scu_cs 的帖子:]
我在类里面有一些变量是private的,只有类内的方法可以访问,想问一下这种变量到底有没有必要封装成字段(或者叫属性)?一般的做法是怎么样的,封装还是不封装?
还有,引用类型封装过之后访问与不封装访问有区别吗?
[/Quote]
谁知道你要做什么啊,你需要用到封装就封装啊,用不到就不封啊
03Go语言实战之
变量
与常量
课程介绍了go语言当中的
变量
和常量使用方法,包含了
变量
的声明方式、简短
变量
声明、
变量
的作用域、指针、按值传递和按址传递的区别、常量介绍
MySQL数据库笔记
MySQL数据库学习笔记 文章来源:https://dhc.pythonanywhere.com/entry/share/?key=3ad29aad765a2b98b2b2a745d71bef715507ee9db8adbec98257bac0ad84cbe4#h2-u901Au7528u8BEDu6CD5u53CAu5206u7C7B视频参考:B站黑马程序员https://www.bilibili.com/video/BV1Kr4y1i7ru?p...
java
字段
_java
字段
是什么
Java中的属性和
字段
有什么区别?Java中的属性(property),通常可以理解为get和set方法。而
字段
(field),通常叫做“类成员”,或 "类成员
变量
”,有时也叫“域”,理解为“数据成员”,用来承载数据的。
字段
(field)类成员(
字段
),通常是在类中定义的类成员
变量
,例如:public class A{private String s = "123";}我们可以说A类中有一个成员变...
每次复习理解更深刻:C#属性、
字段
、
变量
c#的
字段
就是指私有域(
变量
)
class A
{
int i;
public int I
{
get{....}
set{....}
}
}
其中,i是
字段
,I是属性,
字段
是属于一个类的,在类中定义(注意:是类中,而不是类中的某个方法或属性中)
在本类中可以用
this.
字段
名访问
且本类中的所有属性、方法等都可以访问
特征锦囊:如何根据
变量
相关性画出热力图?
今日锦囊特征锦囊:如何根据
变量
相关性画出热力图?上次的锦囊有提及到如何使用sklearn来实现多项式的扩展来衍生更多的
变量
,但是我们也知道其实这样子出来的
变量
之间的相关性是很强的,我们怎...
C#
110,546
社区成员
642,561
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章