c# 多态笔记

    //if语句或switch语句会带来混乱,且不遵守设计模式中的"开闭原则"
    //开闭原则指的是:对扩展开放,对修改关闭
    //用多态(同一个接口,使用不同的实例而执行不同操作)代理条件语句
    public class Test {
        public static void Drive(DriveCommand command) {
            if (command == DriveCommand.Start) {

            }
            if (command == DriveCommand.Stop) {

            }
            switch (command) {
                case DriveCommand.Start:
                    break;
                case DriveCommand.Stop:
                    break;
                default: break;
            }
        }
    }

    public enum DriveCommand {
        Start,
        Stop
    }

    //多态
    public abstract class Commander {
        public abstract void Execute();
    }

    public class StartCommander : Commander {
        public override void Execute() {

        }
    }

    public class StopCommander : Commander {
        public override void Execute() {

        }
    }

参考文献:

《编写高质量代码改善C#程序的157个建议》

posted @ 2021-08-05 11:38  狼王爷  阅读(43)  评论(0编辑  收藏  举报