ASPC#命名空间和基类库初步copy.ppt_第1页
ASPC#命名空间和基类库初步copy.ppt_第2页
ASPC#命名空间和基类库初步copy.ppt_第3页
ASPC#命名空间和基类库初步copy.ppt_第4页
ASPC#命名空间和基类库初步copy.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

C#命名空间和基类库初步,2,回顾,重写和多态 抽象基类是专用于继承(一般包含没有实现的方法)的类。不能创建抽象基类的新实例。 接口是纯抽象基类。它只能包含抽象方法,而不包含方法实现。一个类可以实现多个接口。,3,讲议,解释命名空间 创建自定义的命名空间 讨论命名空间命名的类型 使用命名空间指令 为命名空间创建别名 了解 .NET 基类库,4,命名空间,命名空间是类或其它C#对象的逻辑分组。 用于避免命名冲突 专用于组织代码 当代码要在其他某个应用程序中重用时,可以降低复杂性,5,声明命名空间,与类的声明过程相似 语法 namespace NameSpaceName /此处列出该命名空间的全部类! ,6,声明命名空间,class SamsungTelevision . class SamsungWalkMan . class SonyTelevision . class SonyWalkMan . ,namespace Samsung class Television . class WalkMan . namespace Sony class Television . class Walkman . ,使用命名空间解决命名冲突更简洁、更有条理、结构更清晰,7,嵌套命名空间,在一个命名空间内声明另一个命名空间,. namespace Sony namespace Television class T14inches . class T21inches . .,. namespace Sony.Television class T14inches . class T21inches . .,第二种命名空间的方法在C#中可用,在C+中是不可用的,8,访问修饰符和命名空间,命名空间是隐式公共的 命名空间不能为受保护的、私有的或内部的,. public namespace Sony /错误 . private namespace Samsung /错误 . .,在声明命名空间时前面不应加任何访问修饰符,9,限定命名,要在类所属的命名空间内使用该类,只需要指定该类的名称 要在类所属的命名空间之外使用该类,必须使用该类的完全限定名来引用它 Namespace.class,10,非限定命名,namespace Sony class Television . class WalkMan . Television MyEntertainment = new Television(); . ,在类所属的命名空间内使用该类时,只需指定类名,这 称为“非限定名称”,11,限定命名 - 示例,using Sony; using Samsung; using System; namespace Sony namespace Television class T14inches public T14inches() Console.WriteLine (“一台 14 英寸的电视机“); class T21inches public T21inches() Console.WriteLine (“一台 21 英寸的电视机“); ,namespace Samsung class Television Sony.Television.T14inches myEntertainment = new Sony.Television.T14inches(); class Test static void Main() Samsung.Television myEntertainment = new Samsung.Television(); ,限定命名是在类名称前加上点 操作符和名称空间,12,using 导入命名空间指令,使用限定命名会使代码变长且容易混淆 使用 using 命名空间指令可以使长且容易混淆的名称变得简短而且有意义,. Sony.Television.T14inches Television = new Sony.Television.T14inches(); .,using Sony.Television; T14inches Television = new T14inches(); T21inches Television2 = new T21inches();,13,有效和无效的命名空间声明,14,二义性名称,using Sony; using Samsung; class Test static void Main() Television MyEntertainment = new Television(); ,这会导致错误,因为Sony,Samsung命名空间都有Television 类,程序中不知调用哪个命名空间的类,类名称存在二 义性。,15,二义性名称,using Sony; using Samsung; class Test static void Main() Samsung.Television MyEntertainment = new Samsung.Television(); ,在类名存在二义性的情况下,只能像代码段中那样使用限定 的命名空间,16,using 别名指令,using别名指令提供了一种功能,可以从命名空间中只提取一个类,并将其放入作用域中,using T21inches = Sony.Televisions.T21inches; class Test static void Main() T21inches M = new T21inches(); ,using 别名名称 = 到命名空间或类的完全限定路径,17,基类库,是预先编写的代码的集合,这些代码可以很容易地合并到应用程序中,并在应用程序中加以使用 基类库可以被所有 .NET 支持的语言共享 根据其功能,BCL 中的类被归类到相应的命名空间中,18,常用的命名空间和类,19,命名空间 System.Array,提供用于操纵数组的类和方法,using System; class Test static void Main() int arrayToReverse= 1,2,3,4,5,6,7; Console.WriteLine(“反转前数组的内容:n“); displayArray(arrayToReverse); Array.Reverse(arrayToReverse); Console.WriteLine(“nn反转后数组的内容:n“); displayArray(arrayToReverse); ,public static void displayArray(Array myArray) foreach(int arrValue in myArray) Console.WriteLine(arrValue); ,public static void displayArray(Array myArray) foreach(int arrValue in myArray) Console.WriteLine(arrValue); ,20,命名空间 System.Array,上示例的输出结果,21,命名空间 System.Array,命名空间 System.Array 其他方法,22,System.Collections.ArrayList类,提供了用于操纵与普通数组略有不同的一维数组的方法。可以动态添加数据。 示例,23,System.Collections.HashTable,和ArrayList功能相似,但存储的是键值对的列表。通过主键访问值,主键不能重复。 示例,24,命名空间 System.IO,提供了大量用于文件/流的输入/输出的类 示例,25,命名空间 System.IO,示例,using System; using System.IO; class Test static void Main(string args) Console.WriteLine(“创建目录 C:Sample .“); Directory.CreateDirectory(“c:Sample“); DateTime creationDate = Directory.GetCreationTime(“c:Sample“); Console.WriteLine(“目录创建于:“ + creationDate.ToString(); ,26,命名空间

温馨提示

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

评论

0/150

提交评论