C# 程序设计 刘兵 第6章新.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6.2.2 密封类和密封方法 public class C : B { public sealed override void DoWork() { } } 6.2.2 密封类和密封方法 派生类可以通过使用 new 关键字替换密封的方法,例如下面的示例: public class D : C { public new void DoWork() { } } 已替换或重写某个方法或属性的派生类仍然可以使用base关键字访问基类的该方法或属性。例如: public class A { public virtual void DoWork() { } } public class B : A { public override void DoWork() { } } public class C : B { public override void DoWork() { base.DoWork(); ? } } 6.3.1 System.Object对象 C#中所有的类都直接或间接继承自System.Object类,这使得C#中的类得以单根继承。 如果没有明确指定继承类,编译器缺省认为该类继承自System.Object类。 System.Object类也可用小写的object关键字表示,两者完全等同。 方 法 访问修饰符 作 用 string ToString() public virtual 返回对象的字符串表示 int GetHashTable() public virtual 在实现字典(散列表)时使用 bool Equals(object obj) public virtual 对对象的实例进行相等比较 bool Equals(object objA, object objB) public static 对对象的实例进行相等比较 bool ReferenceEquals(object objA, object objB) public static 比较两个引用是否指向同一个对象 Type GetType() public 返回对象类型的详细信息 6.3.1 System.Object对象 值相等的意思是数据成员按内存位分别相等。 引用相等则是指向同一个内存地址,或者说对象句柄相等,引用相等必然推出值相等。 对于值类型关系的等号“==”判断两者是否值相等;对于引用类型关系等号“==”判断两者是否引用相等。 6.3.1 System.Object对象 程序代码6-7:System.Object对象几个方法使用 程序代码6-8:System.Object对象几个方法使用 6.3.2 内存的组织 计算机内存在组织上分为代码区和数据区。 代码区用于存放程序语句代码; 数据区用于存放程序执行时的数据(如变量的数据等)。而数据区又分成堆栈区(也称栈区)和堆区。 6.3.2 内存的组织 堆栈(Stack)是操作系统在建立某个进程时或者线程为这个线程建立的“先进后出”存储区域,在C#的内存管理中堆栈区一般用于保存值类型数据。 在C#中主要的值类型有:bool ,byte ,char ,decimal ,double ,enum ,float ,int ,long ,sbyte ,short ,struct ,uint ,ulong ,ushort。 在下面示例中,值 42 存储在称为“栈”的内存区域中: int x = 42; 6.3.2 内存的组织 堆(Heap)是应用程序在运行的时候请求操作系统分配内存,堆存储区是对引用类型(如类、对象)进行存储,并接受垃圾收集器的控制和管理。 在下面的示例中,构成数组的 10 个整数所需的空间是在堆上分配的。 int[] numbers = new int[10]; 6.3.3 装箱与拆箱 1.装箱 装箱是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。 把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object实例,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋给对象的。 6.3.3 装箱与拆箱 1.装箱 下面程序代码是隐式装箱转换: int number = 123; object obj = number; 6.3.3 装箱与拆箱 1.装箱

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档