当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-31

    本文导语:  本文以实例形式演示了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#学习笔记之C#的虚方法
  • C# 静态方法与非静态方法的区别分析
  • C#中抽象方法与虚拟方法的区别
  • C#实现获取枚举中元素个数的方法
  • C#中实现屏蔽Ctrl+C的方法
  • C#逐行读取txt文件的方法
  • C#实现Datatable排序的方法
  • C#键盘输入回车键实现点击按钮效果的方法
  • c#友好显示日期 c#日期datetime使用方法
  • C#实现获取一年中是第几个星期的方法
  • C#中实现抽象类里建立静态方法
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • c#自带缓存使用方法 c#移除清理缓存
  • C#实现过滤html标签并保留a标签的方法
  • C# WinForm中禁止改变窗口大小的方法
  • c# 方法可变数量的参数
  • C#判断日期是否到期的方法
  • C# WinForm编程获取文件物理路径的方法
  • C# 获取(非)Web程序根目录的可用方法
  • c# ListView实现双击Item事件的变通方法
  • Bean的作用域及Spring 暴露 Bean实例的方法介绍
  • 类的方法和实例方法,类字段和实例字段有什么不同,在使用上?
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • ThinkPHP之N方法实例教程
  • 各位高手知道在JAVA中如何用一个名称创建一个对象实例,并调用其方法,注意:在编写代码时并不知要创建的对象的类名,也并不知方法名
  • ThinkPHP之A方法实例讲解
  • 求UNIX下C++程序只运行一个实例的方法及范例
  • 近日看源码发现有public类,未经实例化就可以调用该类里面的static方法?
  • 使用PackageManager获得应用信息实例方法
  • 请问!!在方法内部怎样访问外部实例!!
  • ThinkPHP之A方法实例教程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个类的方法声明为protected,那么在另一个包中的该类的子类能否访问该方法?
  • asp.net 公共变量声明问题的解决方法
  • Overloading的几个同名方法的声明部分可以抛出完全不同的异常列表吗,还可以有的抛出异常,有的不抛出吗?
  • php类声明和php类使用方法示例分享
  • Python中声明只包含一个元素的元组数据方法
  • 在Oracle PL/SQL中游标声明中表名动态变化的方法
  • 一个声明方法的小问题:在线等待!!!!!!!
  • php页面编码声明方法 header或meta编码
  • java命名空间java.awt.im类inputcontext的类成员方法: getinputmethodcontrolobject定义及介绍
  • 实现在同一方法中获取当前方法中新赋值的session值解决方法
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: getcontrolobject定义及介绍
  • 突然想到一个奇怪的问题:如果一个非abstract类中包含一个空方法体(及非Java代码写的方法体是空的)的native方法,编译会通过吗?
  • java命名空间java.lang类runtime的类成员方法: runfinalization定义及介绍
  • 构造方法到底怎么用,构造方法体中可以放些什么东西,它和一般方法有什么本质区别功能上
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: dispose定义及介绍
  • jquery中slideUp()方法与slideDown()方法
  • java命名空间javax.swing类rowsorter<m>的类成员方法: allrowschanged定义及介绍
  • jquery中fadeIn()方法与fadeOut()方法(示例)
  • java命名空间java.lang类securitymanager的类成员方法: getsecuritycontext定义及介绍
  • 这句话对不对 用final修饰的方法是不能被该类的子类所重载的方法 ?
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: hidewindows定义及介绍
  • finalize()方法与System.runFinalization()方法有什么区别
  • java命名空间java.beans类statement的类成员方法: execute定义及介绍
  • c#友好显示日期 c#日期datetime使用方法 iis7站长之家
  • java命名空间java.lang类stacktraceelement的类成员方法: getmethodname定义及介绍
  • 关于多线程的奇怪问题,run()方法只会被start()方法自动启动一次吗?
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: activate定义及介绍
  • append()方法在哪些类里有啊?分别有什么作用?老是看到这个方法
  • java命名空间javax.swing类jcomponent的类成员方法: processcomponentkeyevent定义及介绍
  • servlet的service()方法与doGet()、doPost()方法是什么关系?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3