资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C#命名空间和基类库初步回顾重写和多态 抽象基类是专用于继承(一般包含没有 实现的方法)的类。不能创建抽象基类的 新实例。 接口是纯抽象基类。它只能包含抽象方 法,而不包含方法实现。一个类可以实现 多个接口。2 2讲议 解释命名空间 创建自定义的命名空间 讨论命名空间命名的类型 使用命名空间指令 为命名空间创建别名 了解 .NET 基类库3 3命名空间命名空间是类或其它C#对象的逻辑分组 。 用于避免命名冲突 专用于组织代码 当代码要在其他某个应用程序中重用时 ,可以降低复杂性4 4声明命名空间 与类的声明过程相似 语法 namespace NameSpaceName/此处列出该命名空间的全部类!5 5声明命名空间class SamsungTelevision . class SamsungWalkMan . class SonyTelevision . class SonyWalkMan . namespace Samsung class Television.class WalkMan. namespace Sony class Television.class Walkman. 使用命名空间解决命名冲突更简洁、更有条理、结构更清晰6 6嵌套命名空间在一个命名空间内声明另一个命名空间. namespace Sony namespace Televisionclass T14inches .class T21inches. . . namespace Sony.Television class T14inches . class T21inches . .第二种命名空间的方法在C#中可用,在C+中是不可用的7 7访问修饰符和命名空间命名空间是隐式公共的 命名空间不能为受保护的、私有的或内 部的. public namespace Sony /错误 . private namespace Samsung /错误 . .在声明命名空间时前面不应加任何访问修饰符8 8限定命名要在类所属的命名空间内使用该类,只 需要指定该类的名称 要在类所属的命名空间之外使用该类, 必须使用该类的完全限定名来引用它Namespace.class9 9非限定命名namespace Sony class Television.class WalkMan.Television MyEntertainment = new Television();. 在类所属的命名空间内使用该类时,只需指定类名,这 称为“非限定名称” 1010限定命名 - 示例using Sony; using Samsung; using System; namespace Sony namespace Televisionclass T14inchespublic T14inches()Console.WriteLine(“一台 14 英寸的电视机“);class T21inchespublic T21inches()Console.WriteLine(“一台 21 英寸的电视机“); namespace Samsung class TelevisionSony.Television.T14inches myEntertainment = new Sony.Television.T14inches(); class Test static void Main()Samsung.Television myEntertainment = new Samsung.Television(); 限定命名是在类名称前加上点 操作符和名称空间1111using 导入命名空间指令 使用限定命名会使代码变长且容易混淆 使用 using 命名空间指令可以使长且容 易混淆的名称变得简短而且有意义. Sony.Television.T14inches Television = new Sony.Television.T14inches(); .using Sony.Television; T14inches Television = new T14inches(); T21inches Television2 = new T21inches();1212有效和无效的命名空间声明1313二义性名称using Sony; using Samsung; class Test static void Main() Television MyEntertainment = new Television(); 这会导致错误,因为Sony,Samsung命名空间都有Television 类,程序中不知调用哪个命名空间的类,类名称存在二 义性。1414二义性名称using Sony; using Samsung; class Test static void Main() Samsung.Television MyEntertainment = new Samsung.Television(); 在类名存在二义性的情况下,只能像代码段中那样使用限定 的命名空间 1515using 别名指令 using别名指令提供了一种功能,可以从 命名空间中只提取一个类,并将其放入作 用域中using T21inches = Sony.Televisions.T21inches; class Test static void Main() T21inches M = new T21inches(); using 别名名称 = 到命名空间或类的完全限定路径1616基类库 是预先编写的代码的集合,这些代码可 以很容易地合并到应用程序中,并在应用 程序中加以使用 基类库可以被所有 .NET 支持的语言共 享 根据其功能,BCL 中的类被归类到相应 的命名空间中1717常用的命名空间和类1818命名空间 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(arr Value); public static void displayArray(Array myArray)foreach(int arrValue in myArray) Console.WriteLine(arr Value); 1919命名空间 System.Array上示例的输出结果2020命名空间 System.Array 命名空间 System.Array 其他方法2121System.Collections.ArrayList类提供了用于操纵与普通数组略有不同的 一维数组的方法。可以动态添加数据。 示例2222System.Collections.HashTable 和ArrayList功能相似,但存储的是键 值对的列表。通过主键访问值,主键不能 重复。 示例 2323命名空间 System.IO 提供了大量用于文件/流的输入/输出的 类 示例2424命名空间 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(); 2525命名空间 System.IO其他重要的类2626总结除了可以避免命名冲突外,命名空间也被设计 成帮助组织代码的元素。命名空间可以进行嵌套 。命名空间是隐式公共的。 完全限定名是在类的名称之前加上包含该类的 命名空间和一个点操作符。 使用“using 命名空间指令”,可以在不使用限定 名的情况下,在类的命名空间之外使用这些类。 using 命名空间指令必须在所有成员声明之前被 声明。2727
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号