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
  • asp之家 软件编程 m.aspxhome.com