首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 虚拟主机评测对比
c#中的interface abstract与virtual-.NET教程,C#语言
作者:网友供稿 点击:71
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
 

interface用来声明接口
1.只提供一些方法规约,不提供方法主体
  如
  public interface iperson
 {
  void getname();//不包含方法主体
  }
2.方法不能用public abstract等修饰,无字段变量,无构造函数。
3.方法可包含参数
  如 
  public interface iperson
  {
   void getage(string s);
  }

  一个例子(例1):
  public interface iperson
  {
   iperson();              //错误
   string name;            //错误
   public void getidcard();//错误

   void getname();         //right
   void getage(string s);  //right
   }

实现interface的类
1.与继承类的格式一致,如 public class chinese:iperson{}
2.必须实现interface中的各个方法

   例2,继承例1
    public class chinese:iperson
  {
   public chinese(){}             //添加构造
   public void getname(){}        //实现getname()
   public void getage(string s){} //实现getage()
   }

abstract声明抽象类、抽象方法
1.抽象方法所在类必须为抽象类
2.抽象类不能直接实例化,必须由其派生类实现。
3.抽象方法不包含方法主体,必须由派生类以override方式实现此方法,这点跟interface中的方法类似

  如
  public abstract class book
 {
  public book()
  {   
     }

 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()");
  }
  }

 测试如下:
 public class test
  {
   public test()
   {
    javabook jbook=new javabook();
    jbook.getprice();      //将调用javabook中getprice()
    jbook.getname();       //将调用javabook中getname()
    jbook.getcontent();    //将调用book中getcontent()
    jbook.getdate();       //将调用book中getdate()
    
   }
   public static void main()
   {test t=new test();
   }
  }

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

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


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Asp.Net下导出/导入规则的Excel(.xls)文件-ASP教程,ASP应用
·中国万网,万网
·中资源
·上海火速
·加拿大中文网
·华夏名网
·世纪东方
·商务中国
·中国E动网
·神话网络
最新文章
·photoshop抠图合成特效:飞出照片相框_photoshop教程
·将升级的windows vista驱动还原到原来的版本_windows vista
·photoshop漫画笔刷绘制非主流照片漫画_photoshop教程
·看域名注册信息判断网赚公司真假_网赚技巧
·找坐标:对网站进行坐标定位_站长心得
·如何增加网站pv_站长心得
·google性格一:对活跃度高的网页收录很快_google推广
·googleadsense容易被k的可能性列表_google推广
·价值数万的googlepr作弊方_google推广
·如何抢占人家的“首要意念”_google推广
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭