C# 多态典型练习题
来源:互联网 发布:半岛雪人 mac 编辑:程序博客网 时间:2024/06/15 20:25
多态典型练习题:
例题:利用多态实现计算器Calc,
将加减乘除四则运算看作一种操作,请设计操作抽象类Operation,
该抽象类有一个Op的方法计算两个整数相应运算,并返回计算结果。
并派生出四则运算操作类。计算器一个方法Do方法,实现四则运算并绘制整个程序的uml图。
using System;namespace polymorphic{ /* * */ class Program { static void Main(string[] args) { Calc c = new Calc(); Add add = new Add(20, 10); Console.WriteLine("结果等于:" + c.Do(add)); Min min = new Min(20, 10); Console.WriteLine("结果等于:" + c.Do(min)); Mul mul = new Mul(20, 10); Console.WriteLine("结果等于:" + c.Do(mul)); Div div = new Div(20, 10); Console.WriteLine("结果等于:" + c.Do(div)); Console.ReadLine(); } } /// <summary> /// 抽象类,,一个虚方法,,, /// </summary> abstract class Operation { public int _a; public int _b; public abstract int Op(); } /// <summary> /// 加法类 /// </summary> class Add : Operation { public Add(int a, int b) { this._a = a; //base._a = a; this._b = b; //base._b = b; } public override int Op() { return _a + _b; } } /// <summary> /// 加法类 /// </summary> class Min : Operation { public Min(int a, int b) { this._a = a; this._b = b; } public override int Op() { return _a - _b; } } /// <summary> /// 乘法类 /// </summary> class Mul : Operation { public Mul(int a, int b) { this._a = a; this._b = b; } public override int Op() { return _a * _b; } } /// <summary> /// 除法类 /// </summary> class Div : Operation { public Div(int a, int b) { this._a = a; this._b = b; } public override int Op() { return _a / _b; } } /// <summary> /// 计算器类,, /// </summary> class Calc { public int Do(Operation op) { return op.Op(); } } }
类图:
阅读全文
0 0
- C# 多态典型练习题
- 多态典型例子
- 多态典型例子
- 多态练习题
- 多态的典型例子
- C#基础练习题
- C#扩展练习题
- C#经典练习题
- c#的基础练习题
- c#第一天练习题
- C#基础-045 练习题
- (经典)C#基础编程练习题
- C#课后练习题(一)
- C#课后练习题(二)
- C#基础-030 数组练习题
- C#基础-056 字符串练习题
- java继承多态的练习题
- 继承和多态-练习题1
- css 字体样式设置大全
- Error:Execution failed for task :app:transformClassesWithInstantRunForDebug解决方案
- [leetcode] 367. Valid Perfect Square
- c++虚函数
- lintOptions引起的Execution failed for task ':mobile:lint'.编译错误
- C# 多态典型练习题
- C语言实现一个数的二进制位模式从左到右翻转后的值
- 深度学习——提高网络性能(一)
- HDU 6092 Rikka with Subset(思维)
- Java实现CORS跨域请求
- 真正一键开启PPTP、L2TP两种VPN服务,经测试兼容centos 6 7 、ubuntu 14 16、debian 8,32位64位,一次爽到底!
- Hibernate学习之旅
- Tensorflow之数据类型
- 正则表达式学习之回溯与固态分组/php