2:属性判断字段的安适
3:对属性的解释
1:字段是什么字段其实在上一节我们就使用过了:再来详细的说他一说
amespace cw
{
public enum gender //public 是为了让所有的类都可以使用
{
男,
女
}
public class Clerk
{ //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据
public string _name;
public gender _gerder;
public int _age;
public void show()
{
Console.WriteLine("{0}是{1},{2}岁。",this._name,this._gerder,this._age);
}
}
############挪用#################
class Program
{
static void Main(string[] args)
{
//要想使用另外类要先实例化
Clerk zs = new Clerk();
zs._name = "张三";
zs._gerder = gender.男;
zs._age = -24;
zs.show();
Console.ReadKey();
}
}
}
//输出:张三是男,-24岁
看到字段输出 了吗?
张三是男,-24岁
what ? 输出的是-24岁这不如何常理啊!可是我字段就是让存放数据的啊,,又不能对判断说能不能放,这可怎么办。。。。。
这时候我们的主人公属性就出来了:那么属性的感化是什么呢?
掩护字段,对字段的取值与赋值进行限定。
实例:改削上面字段BUG:
说明: 属性往往被声明在字段不才方,并且将字段私有化。 打个比喻就是:属性是男人,主外。而女人主内,并且还要将她私有化。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cw { public enum gender //public 是为了让所有的类都可以使用 { 男, 女 } public class Clerk { //这就是字段了,那么字段一般 是下划线加变量名 _arg ;;字段是用来存放数据 public string _name; public gender _gerder; private int _age; public int Age { get { return _age; } set { if (value < 0 || value > 120) value = 0; _age = value; } } public void show() { Console.WriteLine("{0}是{1},{2}岁。",this._name,this._gerder,this.Age); } } } using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cw { class Program { static void Main(string[] args) { //要想使用另外类要先实例化 Clerk zs = new Clerk(); zs._name = "张三"; zs._gerder = gender.男; zs.Age = -24; zs.show(); Console.ReadKey(); } } }
请求完整实例 3:对属性的说明凡是我们将get和set称为访谒器 get属性访谒器用于返回属性值 set 属性访谒器用于分配新值 属性又分了4种: 1)既读又写,如这个实例; 2)只读,只有一个get访谒器 3)只写,只有一个set访谒器 4)自动 get ;set
标签:
原文地点:https://www.cnblogs.com/hero799/p/8666695.html