码迷,mamicode.com
首页 > 其他好文 > 详细

编程小技巧之封装

时间:2015-08-18 12:06:56      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:封装   枚举   

自从面向对象开始,我们就学习抽象,继承,多态。等等。每一个都与封装 有着密不可分的关联。

那么在细节处如何做到封装,今天举几个小例说明。

if-else的语句我们经常写。有时候很多地方都需要重复的去写。例如。

<span style="font-family:KaiTi_GB2312;font-size:18px;">            if (flag)
                voice.Pause();
            else
                voice.Resume();
</span>

别看简单。就是这举手投足间的细节才能看出编程的基本功如何。

对于这种经常会用的逻辑判断,如果你还不去封装, 一定会被有经验的人笑话的。

<span style="font-family:KaiTi_GB2312;font-size:18px;">        public static void ChenagedIsPauseFlag(bool flag)
        {
            if (flag)
                voice.Pause();
            else
                voice.Resume();
        }
</span>



同样的例子再看 一个。


<span style="font-family:KaiTi_GB2312;font-size:18px;"> if (!isStopSpeek)
           {
               spVoice.Rate = 0;

               spVoice.Speak(Text, Flags);
           }
           else
           {
               spVoice.Pause();
           }
</span>

封装成一个方法为

 

<span style="font-family:KaiTi_GB2312;font-size:18px;">  static void Speak(string Text, SpeechVoiceSpeakFlags Flags)
       {
           if (!isStopSpeek)
           {
               spVoice.Rate = 0;

               spVoice.Speak(Text, Flags);
           }
           else
           {
               spVoice.Pause();
           }
       }
</span>


除了这样的封装。接下来大家再看这样一组代码。

<span style="font-family:KaiTi_GB2312;font-size:18px;">                nowAlarmLv = 五;
                VoiceSpeek(alarm5Lvs.Keys.ToList());//解除语音播报时的报警等级-2015-8-6
                nowAlarmLv = 四;
                VoiceSpeek(alarm4Lvs.Keys.ToList());
                nowAlarmLv = 三;
                VoiceSpeek(alarm3Lvs.Keys.ToList());
                nowAlarmLv = 二;
                VoiceSpeek(alarm2Lvs.Keys.ToList());
                nowAlarmLv = 一;
                VoiceSpeek(alarm1Lvs.Keys.ToList());</span>


这样写丝毫没有问题,但是例子中的“一二三四五”还是字段的,并且不便于管理,出错率极高。极不容易维护。现在的代码 中像这些字段是最好 不要出现的。

那么我们需要找一个类,将其封装起来。枚举自然成了首选。

<span style="font-family:KaiTi_GB2312;font-size:18px;">  /// <summary>
        /// TTS等级枚举
        /// </summary>
        public enum AlarmLevel
        {
            一 = 1,
            二 = 2,
            三 = 3,
            四 = 4,
            五 = 5,//解除时的语音播报等级 为最高
            Normal = 0

        }</span>

    这样的好处多多,安全多多了。一些编程上的小技巧学习心得就是慢慢积累的工作经历,不要止步于自己手头的 一点工作。会看到一个更广阔的天空。


版权声明:本文为博主原创文章,未经博主允许不得转载。

编程小技巧之封装

标签:封装   枚举   

原文地址:http://blog.csdn.net/u010176014/article/details/47747663

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!