




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、静态类和静态成员有哪些功能特性? 实现代码? 静态类和静态成员是指使用static关键字定义的类或成员,凡是static类的成员一定是static成员,不然会报错的。静态类和成员的一大特点就是它们是独一无二的。如果是static类,那么它是不能实例化的,而且加载在内存中只有一个;如果是static变量,方法,这个类可以被实例化的话,无论实例化多少次,static变量或方法始终只有一个。如下:(1)、静态成员csharp view plaincopyprint?1. publicclassStatTicMember2. 3. publicstaticstringtestA=string.Empty;4. 5. 6. classProgram7. 8. staticvoidMain(stringargs)9. 10. /StaticConstructstrc=newStaticConstruct(); 11. 12. /StaticConstructstrcValue=newStaticConstruct(string.Empty); 13. 14. StatTicMembersMember1=newStatTicMember();15. 16. StatTicMember.testA=静态成员;17. 18. Console.WriteLine(StatTicMember.testA);19. 20. StatTicMembersMember2=newStatTicMember();21. 22. Console.WriteLine(StatTicMember.testA);23. 24. Console.ReadLine();25. 26. public class StatTicMember public static string testA = string.Empty; class Program static void Main(string args) /StaticConstruct strc = new StaticConstruct(); /StaticConstruct strcValue = new StaticConstruct(string.Empty); StatTicMember sMember1 = new StatTicMember(); StatTicMember.testA = 静态成员; Console.WriteLine(StatTicMember.testA); StatTicMember sMember2 = new StatTicMember(); Console.WriteLine(StatTicMember.testA); Console.ReadLine(); 结果: 静态成员特点:a、必须通过类名引用,不能用类的对象来引用;b、无论类被实例化多少次,在内存中只有同一块区域;c、静态方法中如果引用方法外的变量或方法,它们也必须是静态的,如csharp view plaincopyprint?1. publicclassStatTicMember2. 3. publicstaticstringtestA=string.Empty;4. 5. publicstringtestB=string.Empty;6. 7. publicstaticvoidMethod()8. 9. testA=my;/正确 10. 11. /testB=my;/错误 12. 13. public class StatTicMember public static string testA = string.Empty; public string testB = string.Empty; public static void Method() testA = my;/正确 /testB = my;/错误 (2)、静态类csharp view plaincopyprint?1. publicstaticclassStaticClass2. 3. publicstaticstringtestA=string.Empty;4. 5. publicstaticvoidStaticMethod()6. 7. Console.WriteLine(静态方法);8. 9. 10. 11. classProgram12. 13. staticvoidMain(stringargs)14. 15. StaticClass.testA=静态类;16. 17. Console.WriteLine(StaticClass.testA);18. 19. StaticClass.StaticMethod();20. 21. Console.ReadLine();22. 23. public static class StaticClass public static string testA = string.Empty; public static void StaticMethod() Console.WriteLine(静态方法); class Program static void Main(string args) StaticClass.testA = 静态类; Console.WriteLine(StaticClass.testA); StaticClass.StaticMethod(); Console.ReadLine(); 结果:静态类特点:a、成员必须也是静态的;b、不能别实例化,引用内部成员直接用类名;c、是密封类;(注:密封类是指这个类不能用作基类,不能是抽象类,也就是不能派生。)d、不能包含构造函数。静态类和成员使用场合,静态类不能泛滥使用,因为它一旦加载了,就在内存中有一块区域,不论你用或不用,它都在那里。占用了内存。如下场合可以使用:a、全局的变量,整个工程中都用到的一个变量,而且值不轻易改变,即使改变所有模块都必须要做出反应。b、不操作实例数据,不与代码中特定类关联的方法,比如Math类中的一些方法。2、密封类功能特性? 实现代码? 为什么要使用密封类? 密封类是指用sealed关键字修饰的一种类,它的目的是防止派生,也就是这种类不能被继承。特点:不能用作基类,不能抽象,密封类的调用比较快。csharp view plaincopyprint?1. publicsealedclassSealedClass2. 3. publicstringtestA=string.Empty;4. public sealed class SealedClass public string testA = string.Empty; 3、什么是抽象类? 功能特性? 实现代码? 接口与抽象类的区别? 抽象类是指用abstract关键字修饰的类。作用是派生多个类,共享基类的公用方法和属性。csharp view plaincopyprint?1. publicabstractclassAbstractClass2. 3. publicabstractvoidCommonMethod();4. 5. 6. publicclassChildClass1:AbstractClass7. 8. 9. publicoverridevoidCommonMethod()10. 11. Console.WriteLine(实现公用方法1);12. 13. 14. 15. publicclassChildClass2:AbstractClass16. 17. 18. publicoverridevoidCommonMethod()19. 20. Console.WriteLine(实现公用方法2);21. 22. 23. 24. classProgram25. 26. staticvoidMain(stringargs)27. 28. ChildClass1chc1=newChildClass1();29. 30. chc1.CommonMethod();31. 32. ChildClass2chc2=newChildClass2();33. 34. chc2.CommonMethod();35. 36. Console.ReadLine();37. 38. public abstract class AbstractClass public abstract void CommonMethod(); public class ChildClass1 : AbstractClass public override void CommonMethod() Console.WriteLine(实现公用方法1); public class ChildClass2 : AbstractClass public override void CommonMethod() Console.WriteLine(实现公用方法2); class Program static void Main(string args) ChildClass1 chc1 = new ChildClass1(); chc1.CommonMethod(); ChildClass2 chc2 = new ChildClass2(); chc2.CommonMethod(); Console.ReadLine(); 结果:抽象类和接口的区别: a、类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类叫做抽象类。而接口只是一个行为的规范或规定,微软的自定义接口总是后带able字段,证明其是表述一类类“我能做.”.抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中; b、接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法; c、一个类一次可以实现若干个接口,但是只能扩展一个父类; d、接口可以用于支持回调,而继承并不具备这个特点; e、抽象类不能被密封; f、抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然也可以声明为虚的; g、(接口)与非抽象类类似,抽象类也必须为在该类的基类列表中列出的接口的所有成员提供它自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 春季养生义诊活动方案策划
- 格瓦斯整合营销方案
- 小型房地产企业管理制度
- 儿童秋衣秋裤活动方案策划
- 十月营销推广方案模板
- 铃木摩托车营销方案模板
- 人造草坪组织施工方案
- 天津趣味跑活动策划方案
- 成华区商业咨询方案公示
- 2025年注册会计师(CPA)考试会计科目真题再现试卷及解析
- 钣金生产车间安全培训
- 核心素养视域下美术学科“五环式”教学研究
- 《财务大数据分析》教案
- 肥胖症诊断与治疗(2024版)指南解读
- 颅脑CT检查技术讲解
- 2025年高中数学说题比赛系列课件
- 临期品处理办法及流程
- 压裂泵往复密封动态磨损机理及失效自愈控制技术研究
- 消除三病反歧视培训
- 公司储备干部培训启动大会
- 初中英语1900词汇按词性分类
评论
0/150
提交评论