C#虚方法的声明和使用实例教程

 更新时间:2014年07月29日 09:34:27   投稿:shichen2014  
这篇文章主要介绍了C#虚方法的声明和使用实例教程,对于初学者理解C#的虚方法有一定的帮助,需要的朋友可以参考下

本文以实例形式演示了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#编程和Visual Studio使用技巧(下)

    C#编程和Visual Studio使用技巧(下)

    本文将介绍10个C#编程和Visual Studio IDE使用技巧,这也是近期我们发布的系列文章的下篇。
    2015-10-10
  • 微信小程序支付C#后端源码

    微信小程序支付C#后端源码

    这篇文章主要为大家详细介绍了微信小程序支付C#后端源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • C# 调用FFmpeg处理音视频的示例

    C# 调用FFmpeg处理音视频的示例

    这篇文章主要介绍了C# 调用FFmpeg处理音视频的示例,帮助大家更好的利用c# 处理音视频,感兴趣的朋友可以了解下
    2020-12-12
  • Unity之跑马灯抽奖效果单抽与连抽(附demo)

    Unity之跑马灯抽奖效果单抽与连抽(附demo)

    这篇文章主要介绍了Unity之跑马灯抽奖效果单抽与连抽,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • C#创建及读取DAT文件操作

    C#创建及读取DAT文件操作

    这篇文章主要介绍了C#创建及读取DAT文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • C#使用Protocol Buffer(ProtoBuf)进行Unity中的Socket通信

    C#使用Protocol Buffer(ProtoBuf)进行Unity中的Socket通信

    这篇文章主要介绍了C#使用Protocol Buffer(ProtoBuf)进行Unity的Socket通信的实例,Protocol Buffer是Google开发的数据格式,也是除了XML和JSON之外人气第三高的^^需要的朋友可以参考下
    2016-04-04
  • C# GetMethod方法的应用实例讲解

    C# GetMethod方法的应用实例讲解

    GetMethod 是获取当前 Type 的特定方法,具有多个重载, GetMethod 即使用指定的绑定约束搜索指定方法,本文给大家介绍了C# GetMethod方法的应用实例,需要的朋友可以参考下
    2024-04-04
  • C#中使用@声明变量示例(逐字标识符)

    C#中使用@声明变量示例(逐字标识符)

    这篇文章主要介绍了C#中使用@声明变量示例(逐字标识符)在C#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”,需要的朋友可以参考下
    2015-06-06
  • 一篇文章说通C#的属性Attribute

    一篇文章说通C#的属性Attribute

    这篇文章主要给大家介绍了如何通过一篇文章说通C#的属性Attribute,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C#中的除法运算符与VB.NET中的除法运算符

    C#中的除法运算符与VB.NET中的除法运算符

    这篇文章主要介绍了C#中的除法运算符与VB.NET中的除法运算符,需要的朋友可以参考下
    2014-10-10

最新评论