欢迎来到天天文库
浏览记录
ID:41355761
大小:1.33 MB
页数:24页
时间:2019-08-22
《《面向对象的封装》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章面向对象的封装目标命名空间构造函数和析构函数实例变量与静态变量访问修饰符单例类内嵌类注册表类2命名空间纽卡斯尔纽卡斯尔3组织命名空间的最佳途径2个项目开发小组分别开发Samsung与Philips的PC中的Monitor,所以都定义了Monitor类。整合项目时才发现类名冲突,于是首先想到更名为SamsungPCMonitor和PhilipsPCMonitor,但是长名称难以维护。怎样创建有条理,有结构的代码?通过使用命名空间,可以创建一套组织代码的系统。组织命名空间的最佳途径是采用层次结构系统的形式。可以在层次机构的顶部放置一些较为常规的名称,层级越低,名称
2、越具体,这种层次结构系统可以用嵌套命名空间来表示。4命名空间的基本语法namespaceSamsungPC{classMonitor{publicvoidListModels(){Console.WriteLine("Samsung供应以下型号的显示器:");Console.WriteLine("14',15',17'");}}}namespacePhilipsPC{publicclassMonitor{publicvoidListModelStocks(){Console.WriteLine("Philips显示器的规格及其库存量:");Console.Wri
3、teLine("14'=1000,15'=2000,17'=3000");}}}5嵌套命名空间namespaceSamsung{namespacePC{classMonitor{publicvoidListModels(){Console.WriteLine("Samsung供应以下型号的显示器:");Console.WriteLine("14',15',17'");}}}namespaceMobile{classCMOS{publicvoidListModels(){Console.WriteLine("Samsung供应以下型号的手机:");Consol
4、e.WriteLine("S1,S2,S3");}}}}namespacePhilips{namespacePC{publicclassMonitor{publicvoidListModelStocks(){Console.WriteLine("Philips显示器的规格及其库存量:");Console.WriteLine("14'=1000,15'=2000,17'=3000");}}}namespaceMobile{classCMOS{publicvoidListModelStocks(){Console.WriteLine("Samsung手机的规格及
5、其库存量:");Console.WriteLine("P1=1000,P2=2000,P3=3000");}}}}6怎样导入命名空间如果程序频繁引用名字空间的成员,那么每次引用时都必须指定名字空间,这很快就变得很复杂。using指令解决了这个问题。Samsung.PC.MonitormSamsung=newSamsung.PC.Monitor();使用using命名空间指令可以使长且容易混淆的名称变得简短而且有意义usingPhilips.PC;MonitormPhilips=newMonitor();7导入命名空间usingPhilips.PC;usingPh
6、ilips.Mobile;classMonitorUser{staticvoidMain(string[]args){Samsung.PC.MonitormSamsung=newSamsung.PC.Monitor();mSamsung.ListModels();Samsung.Mobile.CMOScSamsung=newSamsung.Mobile.CMOS();cSamsung.ListModels();MonitormPhilips=newMonitor();mPhilips.ListModelStocks();CMOScPhilips=newCMOS();
7、cPhilips.ListModelStocks();}}8访问修饰符Teacher类private成员protected成员internalprotected成员internal成员Student类只有Student类和Teacher类都在同一程序集中,才可访问internal成员不可访问不可访问不可访问public成员可以访问?9程序集程序集是重用代码的一种方式.net生成的有两种类型的文件(*.exe,*.dll)。*.exe文件代表应用程序,*.dll代表类库,不管是*.exe还是*.dll都是程序集。程序集是.net生成文件的统称,程序集是构成逻辑功能
此文档下载收益归作者所有