-
C#教程之C#虚方法的声明和使用实例教程
本文以实例形式演示了C#虚方法的声明与使用。实例内容主要包括:演示虚方法的声明和使用,定义虚方法进而求几何面积,用虚方法求原始图形的面积、正方形的面积、等边三角形的面积、圆形的面积等。
实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
using System; public class Graph { protected double ParaVal; protected double pi = 3.1415926; public Graph ( double Para ) { ParaVal = Para; } //定义虚方法:求面积 public virtual double Area( ) { return ParaVal; } } //图形的子类正方形 public class Square : Graph { public Square( double Para ) : base ( Para ) { } //重载正方形求面积的方法 public override double Area( ) { return ParaVal * ParaVal; } } //图形的子类等边三角形 public class EqTriangle : Graph { public EqTriangle( double Para ) : base ( Para ) { } //重载等边三角形求面积的方法 public override double Area() { return ParaVal * ParaVal * Math.Sin( pi/3 ) / 2; } } //图形的子类圆 public class Circle : Graph { public Circle( double Para ) : base ( Para ) { } //重载圆求面积的方法 public override double Area( ) { return pi * ParaVal * ParaVal; } } class Test { public static void Main( ) { double Length = 6; Graph Init = new Graph( Length ); Graph Squa = new Square( Length ); Graph Tria = new EqTriangle( Length ); Graph Circ = new Circle( Length ); Console.WriteLine( "原始图形的面积是:\t{0}" , Init.Area()); Console.WriteLine( "正方形的面积是:\t{0}" , Squa.Area()); Console.WriteLine( "等边三角形的面积是:\t{0}" , Tria.Area()); Console.WriteLine( "圆形的面积是: \t{0}" , Circ.Area()); } } |
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比