C#教学第12讲属性2(学习笔记)

本文详细介绍了C#中的属性概念,包括可读写、只读、只写及静态属性的定义与使用方法,并通过实例演示了如何利用这些属性来增强代码的安全性和功能性。
第12讲属性2
视频讲师:陈广老师

  大家好,今天我们接着上节课的内容继续讲解属性。把上节课的代码稍作调整。

 

 

  现在让我们来回顾一下属性,声明一个属性,首先要先声明一个跟这个属性相关联的私有字段。接下来就是属性的声明,属性的声明实现了get和set这2个访问器,也就是accessor,在读取属性值的时候,会执行get访问器,给属性赋值时会执行set访问器,当然我们可以在这2个访问器里加入可以实现特定功能的代码。属性的读取和写入跟字段的读取写入没有什么区别,只是在写入属性值的时候会自动的去执行set访问器里的代码,而执行读取属性值的时候会自动的执行get访问器里的代码。
  下面我们来看一下属性的种类,属性有四个种类:
  1.可读写(Read/Write)属性:需要实现get与set访问器。
  2.只读(Readonly)属性:需实现get访问器。
  3.只写(Writeonly)属性:需实现set访问器。
  4.Static属性:只能访问静态数据。
 
  下面我们用代码来讲解这几个属性;
  我们先来设置一个只写的(Writeonly)生日属性

 

 

  运行后,我们会发现,页面会跳出一个窗体警告用户的年龄非法。
  现在我们考虑为User类添加一个年龄的属性,我们可以试想一下,如果年龄的属性设置了可读可写,那么用户第一次注册的时候他写入一个年龄25岁,再10年以后他的年龄还是25岁,这样就非常不合理了。所以呢年龄属性根据他的Birthday也就是他的生日来动态的计算。这样呢,年龄属性就应该声明为一个只读属性,我们来实现年龄的只读属性:

 

  运行代码,我们可以看到1980年出生的,今年是2008年的话就是28岁。
  好,下面我们来实现静态属性。现在类里面声明一个计数器,用来记录网站被访问的次数。

 

  我们进行编译,结果是4。我们代码中创建了4个User类的实例,所以结果为4。
  好,我们都已经把各个属性的种类一一描述过了,现在来看一属性最常用的地方。(视频中讲述的是C# develop工具,我用的是Visual Studio2005环境,所以用VS来讲述),我们创建一个Windows应用程序,在工具栏上拖拽一个Button控件到Form窗体上,大家将Button的属性窗体显示出来,可以看到Button按钮的所有属性,如图:

 我们在Name属性中输入123这样的字符,接着下一个操作的时候,屏幕上会跳出一个警告的窗体:

  为什么会弹出这个窗口呢?这就是Button按钮Name属性的set访问器所作用的效果了。输入合法的Name值,就不会有警告了。
  好,今天这节课就讲到这里。

由快乐乔巴听课摘写笔记
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值