• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#中的interface abstract与virtual介绍

c#中的interface abstract与virtual介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了abstract interface,virtual abstract,c abstract virtual,c#abstract,c#中abstract等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

interface用来声明接口
1.只提供一些方法规约,不提供方法主体.  如:

   void getName();         //right
   void getAge(string s);  //right
}
</div>
实现interface的类
1.与继承类的格式一致,如 public class Chinese:IPerson{}
2.必须实现 interface 中的各个方法

   例2,继承例1

  如

  public abstract void getPrice();      //抽象方法,不含主体
  public virtual void getName()   //虚方法,可覆盖
  {
      Console.WriteLine("this is a test:virtual getName()");
  }
  public virtual void getContent()   //虚方法,可覆盖
  {
      Console.WriteLine("this is a test:virtual getContent()");
  }
  public void getDate()                           //一般方法,若在派生类中重写,须使用new关键字
  {
      Console.WriteLine("this is a test: void getDate()");
   }
}

public class JavaBook:Book
{
      public override void getPrice()   //实现抽象方法,必须实现
      {
           Console.WriteLine("this is a test:JavaBook override abstract getPrice()");
      }
      public override void getName()   //覆盖原方法,不是必须的
      {
           Console.WriteLine("this is a test:JavaBook override virtual getName()");
      }
}
</div>
 测试如下:

    }
   public static void Main()
   {

       test t=new test();
   }
}
</div>
virtual标记方法为虚方法
1.可在派生类中以override覆盖此方法
2.不覆盖也可由对象调用
3.无此标记的方法(也无其他标记),重写时需用new隐藏原方法

abstract 与virtual : 方法重写时都使用 override 关键字
interface中的方法和abstract方法都要求实现

发现很多朋友对于C#中的Abstract和Virtual函数区分得不是很清楚,下面我通过两段代码让大家看看这两者之间到底有什么区别~~
开发环境: VS.net 2005
使用方法: 用以下代码覆盖program.cs中的代码,然后run即可
第一段代码: Abstract的用法

    public class test
    {
        public test()
        {
            JavaBook javaBook = new JavaBook();
            javaBook.Introduce();      //将调用JavaBook中Introduce()
 &

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • c#中的interface abstract与virtual介绍

相关文章

  • 2017-05-28C#用户定义类型转换详解
  • 2017-05-28C#实现较为实用的SQLhelper
  • 2017-05-28操作xml,将xml数据显示到treeview的C#代码
  • 2017-05-28C#使用NOPI库实现导入Excel文档
  • 2017-05-28c#生成高清缩略图的二个示例分享
  • 2017-05-28ADO.NET实用技巧两则
  • 2017-05-28C#使用NPOI导入Excel的方法详解
  • 2017-05-28C#使用Streamwriter打开文件的方法
  • 2017-05-28C#通过指针实现快速拷贝的方法
  • 2017-05-28C#算法之全排列递归算法实例讲解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#中timer定时器用法实例
    • C#使用GZipStream解压缩数据文件的方法
    • DevExpress之ChartControl实现饼状图百分比演示实例
    • C#判断网站是否能访问或者断链的方法
    • 使用C#开发Socket通讯的方法
    • C#数据结构与算法揭秘一
    • C#实现Excel动态生成PivotTable
    • 详解C#用new和override来实现抽象类的重写区别
    • c#中合并DataTable重复行的值
    • c#枚举值增加特性说明(推荐)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有