关于抽象类与接口.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于抽象类与接口

关于抽象类与接口   关于抽象类与接口     抽象类:又叫抽象基类(不是鸡肋):他在定义的时候使用 abstract 关键字标记的一般类(他可包含一般类所包含的所有特性,例如,字段,属性,方法,另外他还包含一个很特殊的方法,叫抽象方法(这些方法基本上是没有执行代码的函数标题,而派生于该类的的类就必须提供执行的代码)(最可气的是,他不能被实例化,他主要的用在类的定义和部分实现这方面,所以他需要在扩充类中完整的扩充并实现功能。     抽象方法: 当类中的方法在声明的时候加上 abstract 关键字的时候,他就被我们称为抽象方法(洋名字叫 abstract method , 其实偷偷告诉你哈,我最近学了好多英文单词,虽然还是常常读错,但是已经有很大进步了,估计要不了多久就可以在那里大声朗读李白曾经写过的一首英文诗歌了),但是有个很重要的提醒,只有在抽象类和接口中才可以使用抽象方法.     例如 : 下面这个     public abstract class Thc123_Com   {   public abstract void GoTo();   } public class Thc123_Net : Thc123_Com   {    public override void GoTo()    {    //实现上面抽象方法    }   }     接口:他呢其实也是一种特殊的抽象类,用 interface 关键字标记,他的定义没有 class 关键字,他可以包含 方法和属性和事件,但是方法也只能是虚拟方法,任何派生于该接口的类就必须提供执行的代码(任何接口成员前面都不能加修饰符。     接口可用的修饰符有 new , public ,protected , internal , private ,但是同一声明中修饰符只能有一个,new关键字只能出现在镶套接口中,表示复写继承来的同名成员。     接口和类一样,可以被继承和发展,但不同的是,类继承不仅说明继承也会实现继承,但是接口继承只是说明继承,通俗的说,派生类可以继承基类的方法实现,而派生接口只是继承父接口的方法说明,却没有继承父接口的实现。   语法:   interface Ibook   {    string GetBookName();   }   接口相关知识:     1.声明在接口中的方法,不可以包含方法的内容区块,简单来说就是不能有大括号存在,例如下面   public interface Ibook   {    string GetBookName()    { }   }   2. 实现接口的类就要这样写   public class Employee:Ibook , IUser   {     }     3.实现接口需要注意的一些东东:     (1)实现一个接口就必须完成接口里的所有方法。(就好象谁家有几个女儿,有漂亮的有对不起观众的,我要去娶那个漂亮的,然后人家开口了,小伙子,你要娶我女儿可以,但是你必须把几个女儿全部娶了,否则我会让你后悔一辈子。 )     标注:如果继承了有父接口的接口,那么也必须实现他全部父接口的方法和属性。 interface I_2_A //声明第一个接口   {   int A { get;set;} //声明一个属性   }   interface I_2_B //声明第二个接口   {     int Count(int i,int j); //声明一个方法   }   interface I_2_C : I_2_A, I_2_B { } //声明第三个接口又继承了前两个接口 //什么都没有声明。但是他实际上是继承了前面两个接口的属性和方法。   public class I_2_L : I_2_C //声明一个类,他继承了I_2_C这个接口   {    int a;    public int A    {      get { return a; }    set { a = value; }    }    public int Count(int i, int j)      {    return i * j * a;      }   }     (2)在实现的类中又有几点必须遵循的(我倒,都三重编号了,看来我写的书后期编   辑是件很棘手的事)

文档评论(0)

tangtianxu1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档