说明:在有多个情况或模式情况,代替掉if-else的写法。需要一个配置,抽象角色和很多具体角色,个人感觉写起来还挺舒服的。
实现:
public abstract class ABS_shuishou { public abstract void jiaoshui(); } public class geren_shuishou : ABS_shuishou { public override void jiaoshui() { //个人交税 } } public class qiye_shuishou:ABS_shuishou { public override void jiaoshui() { //企业交税 } } /// <summary> /// 角色设置 /// </summary> public class jueseOption { private ABS_shuishou ss; public jueseOption(ABS_shuishou m) { ss = m; } public void jiaoshui() { ss.jiaoshui();//可以控制到底谁交税? } } public class test { public void start() { jueseOption geren = new jueseOption(new geren_shuishou()); geren.jiaoshui(); jueseOption qiye = new jueseOption(new qiye_shuishou()); qiye.jiaoshui(); } }