C#虚方法的声明和使用实例教程
作者:shichen2014 时间:2022-09-26 16:07:55
本文以实例形式演示了C#虚方法的声明与使用。实例内容主要包括:演示虚方法的声明和使用,定义虚方法进而求几何面积,用虚方法求原始图形的面积、正方形的面积、等边三角形的面积、圆形的面积等。
实现代码如下:
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());
}
}
标签:C#,虚方法,声明,使用
0
投稿
猜你喜欢
C#中实现判断某个类是否实现了某个接口
2022-12-31 19:39:45
Java中DataInputStream和DataOutputStream的使用方法
2023-02-03 04:08:28
C#微信公众号开发之接收事件推送与消息排重的方法
2022-01-31 08:44:46
Android Java try catch 失效问题及解决
2023-06-17 17:07:33
实现Android 滑动退出Activity的功能
2023-04-24 03:00:34
C#使用System.Net.Mail类实现邮件发送
2022-04-26 01:38:21
C#通过WIN32 API实现嵌入程序窗体
2021-08-13 04:53:10
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
2022-01-22 21:44:06
Java Synchronized的偏向锁详细分析
2021-07-09 00:35:23
利用 filter 机制给静态资源 url 加上时间戳,来防止js和css文件的缓存问题
2022-03-16 07:51:24
C#算法之回文数
2022-06-26 20:02:38
c#中虚函数的相关使用方法
2022-10-25 05:44:53
C#开发的人脸左右相似度计算软件源码分析
2023-08-26 05:18:41
RandomAccessFile简介_动力节点Java学院整理
2021-12-18 09:02:15
Android Studio配置Kotlin开发环境详细步骤
2022-10-09 21:29:35
详解C#枚举中使用Flags特性
2023-05-19 04:44:31
Spring Boot缓存实战之Redis 设置有效时间和自动刷新缓存功能(时间支持在配置文件中配置)
2023-11-11 01:57:18
Java中Lambda表达式和函数式接口的使用和特性
2023-06-20 20:05:42
emoji表情与unicode编码互转的实现(JS,JAVA,C#)
2023-02-07 06:07:48
Java使用TCP实现在线聊天的示例代码
2021-10-16 23:49:53