字段与属性

我们在创建类的时候,一般都会用到改类的属性,创建属性我们一般都是用public修饰符,字段一般用private修饰符去修饰,在使用属性的时候我们传的值是修改字段的值,而不是修改属性的值(在get和set构造器中),由字段的变动传到属性的构造器中引起属性的变化。

新建一个Person类,简单点来说为Person类只设置一个Name属性。约定俗成,一般把字段的首字母小写,属性的首字母大写,涉及到赋值都是调用set构造器的内容,对应的涉及到取值都是取get构造器的内容,当然也可以在set构造器中添加复杂的条件。value就是用户输入的值,C#中可以简写get和set构造器,如下面的注释掉的code跟上面的功能是相同的。

 1    static void Main(string[] args)
 2         {
 3
 4             Person person = new Person();
 5             person.Name = "WHQ";//赋值操作在set构造器,value就相当于这里的WHQ
 6             Console.WriteLine(person.Name);
 7             Console.ReadLine();
 8         }
 9         class Person
10         {
11             private string name;
12             public string Name
13             {
14                 get { return name; }
15                 set { name = value; }
16             }
17             //public string Name
18             //{ get; set; }
19         }

结果:

时间: 2025-01-02 15:33:50

字段与属性的相关文章

C# 字段、属性、成员变量 [转载]

一.定义与作用 1.字段(field):是C#类级别定义的,和方法同一级别. 一般用来类内部进行访问,充当一种类中的"全局变量"角色:或者配合属性来使用 2.属性:同样是C#类级别定义的,一般是供外部类访问的. 3.成员变量:"全局变量",在类中定义的变量,区别于在方法中定义的局部变量.它与字段属性不是同一级别概念,字段,属性都可以叫做成员变量. 二.使用 class Basic { private string FieldVar;//这是字段,在当前类中调用 pr

字段与属性(c#)

对实现者来说像方法 对调用者来说像字段 可以将属性看成一种智能字段,属性就是字段与方法的扩展. 面向对象的一个原则就是数据封装,所以不能将字段以公有方式提供给外界. 就像上面例子不能给年龄赋负数,而不使用属性要给外界提供私有字段就得写两个get set 方法,用属性的话虽然使类型定义变得复杂了,但代码写起来却改善了许多.

字段和属性的区别

可以理解为字段是类内部用的,属性是类外部用的. 下面是个C#写的例子,这个例子作用是可以通过属性获取时间值,但是只能通过SetTime()方法设定时间值,我想这也是为什么要分字段和属性的一大原因吧. 首先声明的是private类型的变量(字段)hours,通常字段写法都是加个"_"符号,然后声明只读属性hours. 在类内部可以通过变量(字段)对其进行读写,在类外部不能访问变量(字段),只能访问属性.而且在此例内如果想修改时间值,只能通过调用SetTime()方法往里传值(因为这里的各

C#:字段与属性

MSDN中是这么介绍字段和属性的: A field is a variable of any type that is declared directly in a class or struct. 字段:“字段”是直接在类或结构中声明的任何类型的变量. A property is a member that provides a flexible mechanism to read, write, or compute the value of a private field.Properti

C#.NET中的字段与属性_1

一个类中需要有描述这个类信息的数据,而存储这些数据的变量就成为字段. 字段默认的访问级别为private(只有本类可以直接访问),我们将其访问级别改为public,在其他类中就可以访问了. 字段和属性表示对象包含的信息,字段类似于变量,因为可以直接读取或设置他们. 属性是对字段的封装.属性可以对字段的访问进行控制,可以进行非法设置值的判断.属性并不存储数据,字段存储数据. 封装后,有一些字段我只能赋值,不能读取,有些只能读取,不能赋值,而且可以对传过来的值进行选择. 建议所有的字段不要写成pub

C#.NET中的字段与属性_2 为什么要用属性

属性的好处,就是对存入公共变量的值可以进行处理,如果觉得该值不合法,可以就地变换或者直接提出警告,只不过多花了点点时间,所以有一点点慢.但对于该类所生成的对象的使用安全,还是有相当多的好处的,至少运行时,因公共变量值的错误而产生的问题会大大减少. 用公共变量速度快,就是因为少了中间处理的环节,但是也因此更直接地对类的内容进行了操作和控制,比起属性的使用来说,相对的安全性就变低了. 应该说属性与公共变量各有各的用途,否则公共量变就会被取消掉. 公共变量的好处,就是快.但由于这种用法必须开放变量访问

get、set、add、remove→→(字段、属性)+(委托、事件)

学习完了事件(event),可以得到:事件(event)=委托(deledgate)+增加/移除(add/remove) --这一点,创建一个事件之后用反编译器(.NET Reflector)可以看见 而之前学习属性可以看成:属性=共有的(public)字段+(get/set) 我想在C#中对于get.set.add.remove应该是有一个具体的定义的.他们限定了一些太灵活的类型,产生一些很好用的"新的"类型. get.set.add.remove→→(字段.属性)+(委托.事件),

不允许修改SQLserver2008r2表中字段的属性问题

SQLserver2008r2修改表中字段的属性时弹出 点击工具->选项,取消阻止保存要求重新创建表的更改

C# 字段、属性、成员变量

引言: C#与java,C++中的这些基本概念略有不同.因为容易混淆,所以这里总结下区别.希望能对初学者有帮助! 一.定义与作用 1.字段(field):是C#类级别定义的,和方法同一级别. 一般用来类内部进行访问,充当一种类中的"全局变量"角色: 或者配合属性来使用 2.属性:同样是C#类级别定义的,一般是供外部类访问的. 3.成员变量:"全局变量",在类中定义的变量,区别于在方法中定义的局部变量.它与字段属性不是同一级别概念,字段,属性都可以叫做成员变量. 二.

Hibernate关于字段的属性设计

1.大文本 @Column(columnDefinition="LONGTEXT") //使用大文本字段 private String content; 2.不可更改,不为空 @Column(updatable = false,nullable=false) 3.时间戳字段,并设置默认值 @Column(columnDefinition="timestamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"