C# 中的字段
C#中的字段包括些什么东西。。是不是所有的数据成员都是字段??值类型和引用类型的成员都属于字段?...
C# 中的字段包括些什么东西。。 是不是所有的数据成员都是字段??值类型和引用类型的成员都属于字段?
展开
展开全部
一个标准的类应该由字段、属性、构造器、方法构成。
字段、属性是全局的,就是说,不管你在这个类的什么地方,都可以使用到他们,而不像你在某个方法里面申明一个变量,但是在另外一个方法里是不能直接使用的。
先要给楼主说说字段、属性。简单点说,属性是公开的,字段是私有的。就是说,当你实例化这个类的对象时,可以直接获取到属性,但是不能获取到字段。而属性是用来修改字段的,可能楼主在这里觉得好奇怪,为什么不直接公开字段呢?非要绕一个属性这个圈?这是用来避免字段的值不符合要求。举个例子吧
学生类,年龄(整数),如果你给年龄赋值-1,是不是就不符合常理呢?所以增加一个属性来控制,给属性赋值-1,发现不符合常理,于是属性就给字段赋上一个默认值(比如0)。
但是在实际操作中,不一定要完全这样做,可以在代码中(例如界面的代码)控制输入范围,这样你直接公开字段就行了。
回到楼主说的,是不是所有数据成员都是字段,可以这样理解。既然数据成员都属于字段了,那值类型的数据和引用类型的数据的成员自然属于字段。值类型和引用类型,只是这个字段的数据类型而已。
字段、属性是全局的,就是说,不管你在这个类的什么地方,都可以使用到他们,而不像你在某个方法里面申明一个变量,但是在另外一个方法里是不能直接使用的。
先要给楼主说说字段、属性。简单点说,属性是公开的,字段是私有的。就是说,当你实例化这个类的对象时,可以直接获取到属性,但是不能获取到字段。而属性是用来修改字段的,可能楼主在这里觉得好奇怪,为什么不直接公开字段呢?非要绕一个属性这个圈?这是用来避免字段的值不符合要求。举个例子吧
学生类,年龄(整数),如果你给年龄赋值-1,是不是就不符合常理呢?所以增加一个属性来控制,给属性赋值-1,发现不符合常理,于是属性就给字段赋上一个默认值(比如0)。
但是在实际操作中,不一定要完全这样做,可以在代码中(例如界面的代码)控制输入范围,这样你直接公开字段就行了。
回到楼主说的,是不是所有数据成员都是字段,可以这样理解。既然数据成员都属于字段了,那值类型的数据和引用类型的数据的成员自然属于字段。值类型和引用类型,只是这个字段的数据类型而已。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询