面向对象下计算器的编码实现
2013-03-30 16:29
155 查看
1、封装
首先是新建一个运算类(Calcultor.cs),它包含两个属性strNumA和strNumB,用以储存计算时的两个数,此外,还有一个虚方法Getresult(),用以得到运算的结果。public class calculator { /// <summary> /// 定义运算类的属性 /// </summary> private double dblNumA = 0,dblNumB=0; /// <summary> /// 定义属性dblNumA的操作方法 /// </summary> public double dblnuma { get { return dblNumA; } set { dblNumA = value; } } /// <summary> /// 定义属性dblNumB的操作方法 /// </summary> public double dblnumb { get { return dblNumB; } set { dblNumB = value; } } /// <summary> /// 得到运算结果 /// </summary> /// <returns>dblresult</returns> public virtual string GetResult() { string dblResult ="0"; return dblResult; } }
2、继承
然后将操作加、减、乘、除写成运算类的子类,继承运算类后重写Getresult()。/// <summary> /// 加法类 /// </summary> class OperationAdd : calculator { public override string GetResult() { string dblresult = "0"; dblresult = (dblnuma + dblnumb).ToString(); return dblresult; } } /// <summary> /// 减法类 /// </summary> class OperationSub : calculator { public override string GetResult() { string dblresult = "0"; dblresult = (dblnuma - dblnumb).ToString(); return dblresult; } } /// <summary> /// 乘法类 /// </summary> class OperationMul : calculator { public override string GetResult() { string dblresult = "0"; dblresult = (dblnuma * dblnumb).ToString(); return dblresult; } } /// <summary> /// 除法类 /// </summary> class OperationDiv : calculator { public override string GetResult() { string dblresult = "0"; if (dblnumb != 0) { dblresult = (dblnuma / dblnumb).ToString(); } else { dblresult = "除数不能为0!"; } return dblresult; } }
3、多态
再用一个单独的类创造实例的过程。public class factory { public static calculator createOperation(string strOperation) { calculator cal = null; switch (strOperation) { case "+": { cal = new OperationAdd(); break; } case "-": { cal = new OperationSub(); break; } case "*": { cal = new OperationMul(); break; } case "/": { cal = new OperationDiv(); break; } } return cal; } }
相关文章推荐
- 面向对象下计算器的编码实现
- 技能测试1:面向对象编码实现用户注册
- 面向对象-java控制台计算器简单实现[50行]
- Java控制台实现计算器[面向对象思想-02]
- python通过面向对象程序设计方法 实现铅球运行轨迹的计算
- C#面向对象特征的具体实现及作用详解
- scala与函数式编程——面向对象模式在函数式编程下的实现
- 面向对象设计题:“农场一头小母牛,每年生头小母牛。。。”的一种实现
- 面向对象之Python的链表实现(一)类的构造
- 面向对象、Orcal数据库实现对数据的操作
- PHP通过面向对象实现数据库备份
- 面向对象之Python的链表实现(二)循环链表
- 面向对象里面使用use-a, has-a, is-a和实现关系支持优秀的设计
- 类实现java面向对象上:接口
- 面向对象的程序设计——实现继承
- 二叉查找数C++ 数组模拟二叉树及面向对象实现
- js面向对象实现元素拖拽
- 面向对象的设计与实现的一些基础但重要的概念
- JavaScript ES5面向对象实现一个todolist
- C与C++在OO面向对象实现上的对比