概述
访问器模式是一种常见的的设计模式,主要是设计封装对对象的访问,可以将对对象的操作封装在一个方法中,灵活的控制对变量的修改,处理对应的逻辑,在C#中有对应的getset访问器,可以封装对属性的访问和写入,可以根据实际的需求加入对变量的控制,比如以下的例子,学生们的年龄不可以为负数,所以年龄的写入就可以限制为非负数,实现对写入的限制,其它的限制可以根据实际的需求而来。
访问器模式
using System.Numerics;
internal class Program
{
private static void Main(string[] args)
{
Strudents person = new Strudents();
person.Name = "小明";
person.Age = 16;
Console.WriteLine(person.Name);
Console.WriteLine(person.Age);
}
public class Strudents
{
private string _name;
private int _age;
public string Name
{
get
{
Console.WriteLine("访问名字属性");
return _name;
}
set
{
if (!string.IsNullOrEmpty(value))
{
_name = value;
Console.WriteLine($"输入名字{value}有效");
}
else
{
Console.WriteLine("输入年龄不可以为空");
}
}
}
public int Age
{
get
{
Console.WriteLine("访问年龄属性");
return _age;
}
set
{
if (value >= 0)
{
_age = value;
Console.WriteLine($"输入年龄{value}有效");
}
else
{
Console.WriteLine("年领可不可以为负数");
}
}
}
}
}
运行结果
输入名字小明有效
输入年龄16有效
访问名字属性
小明
访问年龄属性
16