本文以实例形式演示了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()); } }