C#属性的使用--C#基础

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() {
//可加this
Console.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)自动属性

原文地址:https://www.cnblogs.com/kdp0213/p/8533545.html