CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

如何使用抽象类?

楼主IamHacker()2002-10-01 12:20:25 在 .NET技术 / C# 提问

请举个例子 问题点数:100、回复次数:3Top

1 楼yarshray(saga jion(心飘情落))回复于 2002-10-01 12:31:01 得分 0

http://216.239.33.100/search?q=cache:bUshKfWxKNEC:www.vchelp.net/itbookreview/view_paper.asp%3Fpaper_id%3D340+%E6%8A%BD%E8%B1%A1%E7%B1%BB+C%23&hl=zh-CN&ie=UTF-8Top

2 楼yarshray(saga jion(心飘情落))回复于 2002-10-01 12:31:32 得分 0

正文  
  C#的抽象类和密封类  
   
  为了庆祝VCHELP的VC#/dotNet   Help栏目开张,雷神特意写个小文章表示一下。  
   
  有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。C#作为一个面向对象的语言,必然也会引入抽象类这一概念。  
   
  下面我们来看看C#的抽象类  
   
  雷神又要举例子了。为什么我习惯举例子,可能是为了弥补语言表达能力的不强吧,希望大家不要被雷神的例子误导,大家一定要知道,不识庐山真面目,只缘身在此山中的道理,要站在画外看画,站在例子外来理解例子。  
   
  抽象类是老板,它的子类是打工的,干活的是打工的,老板只是指导一下,而且老板不会去做具体的工作。看下面的伪代码吧。  
   
  using   System;  
  abstract   class   资料  
  {  
          protected   string   名称;  
   
      public   abstract   string   资料名称   //抽象的属性  
      {  
          get;set;  
      }  
          public   abstract   void   发表();   //老板指导打工的要干什么   抽象的方法  
          public   abstract   void   删除();//老板指导打工的要干什么     抽象的方法  
  }  
   
  class   文章:资料  
  {  
          string   作者;//这是一个新的成员数据  
          //改写抽象的属性  
          public   override   string   名称      
          {  
                  get{retuen   名称;}  
          set{名称=value;}  
          }  
          public   string   作者  
          {  
          get{return   作者;}  
          set{作者=value;}  
          }  
   
          //文章这个类具体实现了资料类的抽象方法,借出()和归还()。  
          public   override   void   发表()//打工的根据老板的指示确定该干什么  
          {  
          Console.WriteLine("文章的名称为:{0}",名称);  
          Console.WriteLine("文章的作者为:{0}",作者);  
          }  
          public   override   void   删除(){......}//打工的根据老板的指示确定该干什么  
  }  
   
  public   static   void   Main()  
  {  
          书   一本书=new   书();//具体的一个打工的  
      一本书.名称=“C#的抽象类和密封类”;  
      一本书.作者=“雷神”  
      一本书.发表();//干了一个具体的工作  
  }  
  当然这段代码是不可能编译成功的,但显示结果应该是这样:  
  文章的名称:C#的抽象类和密封类  
  文章的作者:雷神  
   
  上面的例子很简单,说明了抽象类的概念。我们来整理一下C#的抽象类的一些需要注意的问题:  
  1、首先抽象类是必须用abstract   修饰符声明。  
  2、抽象类只能作为基类,不能产生实例。  
  3、抽象类中可以包含抽象的方法。  
  4、同样一个类可以包含抽象的属性。  
  5、如果一个类是从抽象类派生,则它必须通过改写来实现所有继承的抽象方法。  
  我们还要注意  
  1、抽象方法只能在抽象类中声明。  
  2、抽象方法不能使用static和virtual修饰符。(抽象的方法默认是一个virtual方法)  
  3、抽象方法不能在派生类用base关键字进行访问。  
   
  下面我们在说说密封类:  
  为什么要有密封类呢?如果你不想你的类被其他的程序员或者自己继承,产生派生类。而且这个类已经没有被继承的必要,你想在运行时提高他的效率,那你可以选择密封这个类。方法很简单,只需在声明类时用sealed修饰符就行了。当然一个密封类不可能是抽象类,因为抽象类是用来被继承的。  
   
  这便是C#的抽象类和密封类,大家可以看看和C++有什么不同的地方。  
  正文完  
   
  Top

3 楼SHQcloud()回复于 2002-10-01 20:54:58 得分 100

http://shqshk.home.shou.comTop

相关问题

  • 如何使用abstract抽象类
  • 抽象类中可以定义事件吗,在子类中如何使用?
  • 如何写抽象类和接口?
  • 装饰器如何装饰抽象类?
  • 抽象类
  • java抽象类
  • 多层开发中抽象类的使用问题
  • 为什么我使用CDocTemplate类会报'CDocTemplate'什么抽象类方面的错?
  • 抽象类不能产生出对象实例,那如何获得指向抽象类的指针?
  • 在不清楚基类所有抽象方法的情况下,如何派生一个非抽象的类?

关键词

  • c#
  • 作者
  • 属性
  • 资料
  • 语言
  • 抽象
  • 类
  • 密封
  • 打工
  • 修饰符

得分解答快速导航

  • 帖主:IamHacker
  • SHQcloud

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo