欢迎来到天天文库
浏览记录
ID:36430362
大小:3.72 MB
页数:27页
时间:2019-05-09
《ASPC#命名空间和基类库初步copy》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#命名空间和基类库初步回顾重写和多态抽象基类是专用于继承(一般包含没有实现的方法)的类。不能创建抽象基类的新实例。接口是纯抽象基类。它只能包含抽象方法,而不包含方法实现。一个类可以实现多个接口。2讲议解释命名空间创建自定义的命名空间讨论命名空间命名的类型使用命名空间指令为命名空间创建别名了解.NET基类库3命名空间命名空间是类或其它C#对象的逻辑分组。用于避免命名冲突专用于组织代码当代码要在其他某个应用程序中重用时,可以降低复杂性4声明命名空间与类的声明过程相似语法–namespaceNameSpaceName{//此处列出该命名空间的全部类!}
2、5声明命名空间classSamsungTelevision{...}classSamsungWalkMan{...}classSonyTelevision{...}classSonyWalkMan{...}namespaceSamsung{classTelevision{...}classWalkMan{...}}namespaceSony{classTelevision{...}classWalkman{...}}使用命名空间解决命名冲突更简洁、更有条理、结构更清晰6嵌套命名空间在一个命名空间内声明另一个命名空间...namespaceSony{
3、namespaceTelevision{classT14inches{...}classT21inches{...}}}......namespaceSony.Television{classT14inches{...}classT21inches{...}}...第二种命名空间的方法在C#中可用,在C++中是不可用的7访问修饰符和命名空间命名空间是隐式公共的命名空间不能为受保护的、私有的或内部的...publicnamespaceSony//错误{...}privatenamespaceSamsung//错误{...}...在声明命名空间时前面不
4、应加任何访问修饰符8限定命名要在类所属的命名空间内使用该类,只需要指定该类的名称要在类所属的命名空间之外使用该类,必须使用该类的完全限定名来引用它Namespace.class9非限定命名namespaceSony{classTelevision{...}classWalkMan{...TelevisionMyEntertainment=newTelevision();...}}在类所属的命名空间内使用该类时,只需指定类名,这称为“非限定名称”10限定命名-示例usingSony;usingSamsung;usingSystem;namespace
5、Sony{namespaceTelevision{classT14inches{publicT14inches(){Console.WriteLine("一台14英寸的电视机");}}classT21inches{publicT21inches(){Console.WriteLine("一台21英寸的电视机");}}}}namespaceSamsung{classTelevision{Sony.Television.T14inchesmyEntertainment=newSony.Television.T14inches();}}classTest
6、{staticvoidMain(){Samsung.TelevisionmyEntertainment=newSamsung.Television();}}限定命名是在类名称前加上点操作符和名称空间11using导入命名空间指令使用限定命名会使代码变长且容易混淆使用using命名空间指令可以使长且容易混淆的名称变得简短而且有意义...Sony.Television.T14inchesTelevision=newSony.Television.T14inches();...usingSony.Television;T14inchesTelevisio
7、n=newT14inches();T21inchesTelevision2=newT21inches();12有效和无效的命名空间声明13二义性名称usingSony;usingSamsung;classTest{staticvoidMain(){TelevisionMyEntertainment=newTelevision();}}这会导致错误,因为Sony,Samsung命名空间都有Television类,程序中不知调用哪个命名空间的类,类名称存在二义性。14二义性名称usingSony;usingSamsung;classTest{stati
8、cvoidMain(){Samsung.TelevisionMyEntertainment=newSamsung.Tele
此文档下载收益归作者所有