1、属性的作用:保护字段,对字段取值与赋值进行限定
2、属性的使用:
_name(属性名)public [对应字段类型] 属性名Name{ get{return _name;}set{_name=value;}}
3、字段和属性的命名格式:
字段的命名方式一般采用:_cameCase
字段的命名方式一般采用:PascalCase
4、有了属性以后,往往通过属性去访问字段。属性通常声明为public,字段通常声明为private。在外部访问类中的字段,都是通过属性来实现。get可对取值进行界定,set可对赋值进行界定,通常我们将get和set称为访问器。
Clerk.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace CSharp属性的使用{ class Clerk{ private string _name;//字段public string Name//属性{ get {return _name;}set { _name = value; }}private char _gender;//字段public char Gender//属性
{
get { if (Gender != '男' || Gender != '女')_gender = '男';return _gender;}set{ _gender = value;//value是内置的变量}}
private int _age;public int Age { get { return _age; }set { if (value < 0 || value > 120)value = 0;_age = value; }
}
public string _department;public int _workyears;public void Write() { //可加thisConsole.WriteLine("{0}{1}{2}{3}{4}",_name,Gender,_workyears,Age,_department);// Console.WriteLine("{0}{1}{2}{3}{4}", this._name, this._gender, this._workyears, this._age, this._department);}}}
Program.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace CSharp属性的使用
{ class Program{ static void Main(string[] args){ Clerk zsClerk = new Clerk();zsClerk.Name = "张三";zsClerk.Gender='男';zsClerk.Age= 25;zsClerk._department="人力部";zsClerk._workyears = 10;zsClerk.Write();Console.ReadKey();}}}
5、属性的分类
属性分为4种,
1)既读又写:同时包含get和set
2)只读:只包含get
3)只写:只包含set
4)自动属性