c#面试的问题.doc_第1页
c#面试的问题.doc_第2页
c#面试的问题.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

泛型是在 C# 語言和 Common Language Runtime (CLR) 的 2.0 版中加入的功能。 泛型將型別參數的概念引進 .NET Framework 中,使得類別和方法在設計時,可以先行擱置一個或多個型別規格,直到用戶端程式碼對類別或方法進行宣告或執行個體化時再行處理。 例如,您可以使用泛型型別參數 T,撰寫一個單一類別供其他用戶端程式碼使用,而不會在執行階段產生轉型或 boxing 作業的成本或風險,如下所示:C#複製/ Declare the generic class.public class GenericList void Add(T input) class TestGenericList private class ExampleClass static void Main() / Declare a list of type int. GenericList list1 = new GenericList(); / Declare a list of type string. GenericList list2 = new GenericList(); / Declare a list of type ExampleClass. GenericList list3 = new GenericList(); 泛型概觀使用泛用型別以最佳化程式碼重複使用、型別安全性和效能。泛型的最常見用法是建立集合類別。.NET Framework 類別庫包含 System.Collections.Generic 命名空間中的數種新泛用集合類別。 在任何可能的情況下都應該使用這些類別,而不是使用類似在 System.Collections 命名空間中的 ArrayList 類別。您可以建立自己的泛用介面、類別、方法、事件和委派 (Delegate)。泛用類別可能會被限制為啟用對特定資料型別上的方法進行存取。在泛型資料型別中所使用型別的資訊,可以在執行階段透過反映 (Reflection) 取得。方法的覆写和重载覆写和重载 虚方法与抽象方法 ItemsOverride 覆写Overload 重载位置存在于继承关系的类中存在于同一类中方法名相同相同参数列表相同必须不同返回值相同可以不相同程序中的处理程序运行时程序编译时抽象方法使用abstract关键字 public abstract bool Withdraw();抽象方法是必须被派生类覆写的方法。抽象方法是可以看成是没有实现体的虚方法如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其它一般方法虚方法使用virtual关键字 public virtual bool Withdraw();调用虚方法,运行时将确定调用对象是什么类的实例,并调用适当的覆写的方法。虚方法可以有实现体-虚拟方法和抽象方法有什么区别?抽象方法只有声明没有实现,需要在子类中实现;虚拟方法有声明和实现,并且可以在子类中覆盖,也可以不覆盖使用父类的默认实现虚拟方法有实现代码抽象方法则没有,并且抽象类不能被实例化,只能实例化实现了全部抽象方法的派生类抽象方法是虚拟方法的一种抽象方法没有实现,它的存在只是为派生类统一接口;派生类应该实现这个方法如果编写一个基类,它永远不会被实现,那么就应该将这个类中的一个或多个方法定义为抽象方法。抽象方法只有声明没有实现,需要在子类中实现;虚拟方法有声明和实现,并且可以在子类中覆盖,也可以不覆盖使用父类的默认实现补充一点只允许在抽象类中使用抽象方法声明学习其实大家首先要搞清楚,虚方法与多态性关系密切,虚方法允许派生类完全或部分重写该类的方法,需写方法体。抽象类中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论