概述
访问器模式是一种常见的的设计模式,主要是设计封装对对象的访问,可以将对对象的操作封装在一个方法中,灵活的控制对变量的修改,处理对应的逻辑,在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