C#虚方法的声明和使用实例教程
程序员文章站
2024-02-20 23:04:22
本文以实例形式演示了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()); } }