大家好,欢迎来到IT知识分享网。
定义属性:
本实例实现的关键是如何定义属性,而在属性定义的过程中需要用到get访问器和set访问器。
属性是对现实实体特征的抽象,它提供了对类或对象性质的访问,类的属性描述的是状态信息。在类的实例中,属性的值表示对象的状态值,属性不表示具体的存储位置,属性有访问器,这些访问器指定在它们的值被读取或写入时需要执行的语句。
所以,属性提供了一种机制,把读取和写入对象的某些特性与一些操作关联起来。程序员可以像使用公共数据成员一样使用它。get访问器相当于一个具有属性类型返回值无参数方法,它除了作为赋值的目标外,当在表达式中引用属性时,将调用该属性的get访问器计算属性的值。get访问器体必须用return语句来返回。
set访问器相当于一个具有单个属性类型值参数和void返回类型的方法。set访问器的隐式参数始终命名为value,当一个属性作为赋值目标被引用时,就会调用set访问器所传递的参数,将提供新值。不允许set访问体中的return语句指定表达式。由于set访问器存在隐式的参数value,所以set访问器中不能自定义使用名称为value的局部变量或常量。
程序界面:
程序代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class PropertySet : Form
{
public PropertySet()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//设置三个标签控件内容显示为空
label1.Text = null;
label2.Text = null;
label3.Text = null;
//实例化职员信息类staff
staff sta = new staff();
//修改职员编号属性,赋值为001
sta.Id = "001";
//修改职员姓名属性,赋值为李小明
sta.Name = "李小明";
//修改职员年龄属性,赋值为22
sta.Age = 22;
//将录入的第一个人信息显示到标签控件上
label1.Text += sta.Id + Environment.NewLine + sta.Name + Environment.NewLine + sta.Age;
//修改职员编号属性,赋值为002
sta.Id = "002";
//修改职员姓名属性,赋值为张大亮
sta.Name = "张大亮";
//修改职员年龄属性,赋值为32
sta.Age = 32;
//将录入的第二个人信息显示到标签控件上
label2.Text += sta.Id + Environment.NewLine + sta.Name + Environment.NewLine + sta.Age;
//修改职员编号属性,赋值为003
sta.Id = "003";
//修改职员姓名属性,赋值为李二苟
sta.Name = "李二苟";
//修改职员年龄属性,如果输入年龄不在定义区间,则则将年龄赋值为0
sta.Age = 3000;
//将录入的第三个人信息显示到标签控件上
label3.Text += sta.Id + Environment.NewLine + sta.Name + Environment.NewLine + sta.Age;
}
}
class staff
{
//定义三个变量,编号、姓名和年龄
private string id = "", name = "";
private int age = 0;
//定义编号属性
public string Id
{
set { id = value; }
get { return id; }
}
//定义姓名属性
public string Name
{
set { name = value; }
get { return name; }
}
//定义年龄属性
public int Age
{
//修改年龄,当年龄在0-200之间,正常赋值,否则将年龄赋值为0
set
{
if (value > 0 && value < 200)
age = value;
else
age = 0;
}
//获取年龄信息
get { return age; }
}
}
}
IT知识分享网
结语:
属性和字段都可以访问对象中包含的数据,对象数据用来区分不同的对象。同一个类的不同对象可能在属性和字段中存储了不同的值。字段和属性都可以输入,通常把信息存储在字段和属性中,但是属性和字段是不同的,属性不能直接访问数据,字段可以直接访问数据,在属性中可以添加对数据访问的限制。例如,有一个int类型的属性,可以限制它只能存储0到200之间的数字,但如果用字段就可以存储任何int类型的数值,无法进行限制。
喜欢的请收藏和关注!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6751.html