C#中的字段与属性 您所在的位置:网站首页 字段规则引擎是什么意思 C#中的字段与属性

C#中的字段与属性

2024-05-28 08:40| 来源: 网络整理| 查看: 265

C#中的字段与属性

学习笔记~~~~~~~~~~~~

字段 字段是定义在方法外面的变量,是成员变量,主要是为了类的内部数据交换使用,字段一般是用private修饰,也可以用readonly修饰,表示只读字段,其它修饰符比较少用;字段是用来存储数据的。 字段声明格式,[访问修饰符] 数据类型 字段名 [=初始值] 如: private string phoneName = string.Empty; /// /// 手机类:手机编号,手机名称,手机价格,上线日期,销售年期 /// public class MobilePhone { //定义一组手机数据字段,字段也是成员变量 private int phoneId; private string phoneName; private int phonePrice; private DateTime onlineTime; private readonly int sellYears; } 属性

属性可以理解为对数据的存取,是一种方法,是字段的封装(字段才是对数据的保存单元)。一般对外提供访问,可以添加需要的逻辑,属性一般是用public修饰。

public class MobilePhone1 { private int phoneId; //私有字段,公有属性 public int PhoneId { get { return phoneId; } //读取字段 //属性可以有业务逻辑,对数据进行基本的筛选能力 set //给字段赋值 { if(value return phoneName; } set { phoneName = value; } } private int phonePrice; public int PhonePrice { get { return phonePrice; } set { phonePrice = value; } } private DateTime onlineTime; public DateTime OnlineTime { get { return onlineTime; } set { onlineTime = value; } } public int SellYears { //属性还可以设置为只读属性 get { return DateTime.Now.Year - onlineTime.Year+1; } } } public class Test { public void test1() { MobilePhone1 mobilePhone1 = new MobilePhone1();//创建手机类的实例对象 mobilePhone1.PhoneId = -888; mobilePhone1.PhoneName = "华为Mate40Pro+"; mobilePhone1.PhonePrice = 7800; mobilePhone1.OnlineTime = Convert.ToDateTime("2020-11-01"); //mobilePhone1.SellYears = 4; 只读属性,不能赋值 Console.WriteLine("手机编号为:" + mobilePhone1.PhoneId); Console.WriteLine("手机名称为:" + mobilePhone1.PhoneName ); Console.WriteLine("手机价格为:" + mobilePhone1.PhonePrice+"元" ); Console.WriteLine("手机上线日期:" + mobilePhone1.OnlineTime ); Console.WriteLine("手机销售年期为:" + mobilePhone1.SellYears +"年"); } }

运行结果

手机编号为:1000 手机名称为:华为Mate40Pro+ 手机价格为:7800元 手机上线日期:2020/11/1 0:00:00 手机销售年期为:1年 总结

属性可以说是字段的扩展,字段是存储数据的单元,而属性本身不存储数据,可以说是对数据的操作,拥有自己的业务逻辑,获取数据,对数据处理,返回处理后的数据等。 属性的定义是get访问器和set访问器组成,get访问器就是对字段值进行读取,而set访问器就是对字段值进行赋值,其实就是对字段操作的两个方法。

.net 4.6版本以上使用属性更简便

输入 prop 然后双击tab键,自动生成以下形式: 在这里插入图片描述

public class MobilePhone2 { public int PhoneId { get; set; }//自动生成私有字段 public string PhoneName { get;} public int PhonePrice { get; set; } = 7800; public DateTime OnlineTime { get; set; } public int SellYears { get => DateTime.Now.Year - OnlineTime.Year + 1; } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有