对虚方法以及new关键字隐藏保密逻辑的理解

static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            OptertorAdd op = new OptertorAdd();
            op.GetResult(1,2);
        }
    }

    /// <summary>
    /// 父类 Created:ChenHu  date:2013326
    /// </summary>
    public class Opreator
    {
        //不想暴漏在外的私有变量可以用属性封装起来
        private double _numA;
        private double _numB;

        public double NumA
        {
            get { return _numA; }
            set { _numA = value; }
        }

        public double NumB
        {
            get { return _numB; }
            set { _numB = value; }
        }

        public virtual double GetResult(int a, int b)
        {
            double result = 0;
            //------------------------------------------
            //TODO:可以处理需要影藏的逻辑,这也是new或则说虚方法隐藏的逻辑的一种手段,隐藏的逻辑可以是员工的薪资计算等保密操作                                                                                                                                                                                                     
            //------------------------------------------
            result = _numA + _numB;
            return result;
        }
    }

    /// <summary>
    /// 派生类  Created:ChenHu  date:2013326
    /// </summary>
    class OptertorAdd : Opreator
    {
        public override double GetResult(int a, int b)
        {
            //这里base的逻辑可以放在自己逻辑之前也可以放在自己逻辑的后面
            //这里的位置其实很有讲究哦,逻辑不对可能会引起报错。
            //如把base逻辑放在自己逻辑之前,在父类中 _numA + _numB=0;因为你还没赋值
            base.GetResult(a, b);
            NumA = a;
            NumB = b;
            double result = 0;
            result = NumA + NumB;
            //父类逻辑在此位置  _numA + _numB=3;
            //base.GetResult(a, b); 
            return result;
        
        }
    }

----------------------------------------------------------------------------------------------------------END-----------------------------------------------------------------------------------------------------------------

知识共享许可协议
《对虚方法以及new关键字隐藏保密逻辑的理解》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     169.99ms