- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.NET程序设计.NET Programming 西电软件学院 邓岳 anfdeng@ Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 类型基础 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. CLR的单根体系 所有类型必须最终从System.Object派生 以下两种定义方法等价 class Employee { …} class Employee : System.Object {… } Object类提供的常用方法(类似Java) Equals GetHashCode ToString GetType MemberwiseClone Finalize Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. System.Object类的public方法 Equals:默认实现“同一性”检查 所有值类型的基类 System.ValueType 都已重写了Equals以实现“相等性”检查 GetHashCode:返回this对象的值的一个哈希码 ToString 默认返回完整名称 this.GetType().FullName() GetType 标识调用GetType方法的对象的类型,返回由System.Type类派生的对象实例,可从中获取与类型有关的元数据 能否通过重写此方法伪装为另一个类? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. System.Object类的protected方法 MemberwiseClone 创建新的实例,新实例的各个字段的值都设为与this对象对应字段的值相同 返回新实例的引用 Finalize 垃圾回收时,对象的内存被实际回收之前调用 注:Java的Object类也提供 hashCode、equals、clone、toString 等11个方法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. new CLR要求所有对象都要用new操作符创建 Employee e = new Employee(“Bob”) 无delete操作符,由CLR负责垃圾回收 1. 计算类型及所有基类型(上溯至Object)中定义的所有实例字段需要的字节数(要加上一些额外成员如type object pointer、sync block index的大小) 2. 从托管堆中分配类型所需字节数 3. 初始化额外成员 4. 调用类型构造函数 5. 返回新创建的对象的引用 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 强制类型转换 GetType方法可以返回该对象的类型 该方法非虚,故类型无法伪装为另一种类型 将一个对象强制转换为其基类型时,不需要特殊语法,但转换为其派生类时需要显式进行转换(Liskov替换原则) class Employee {…} // 隐式从Object派生 class Program { public static void Main() { Object o = new Employee(); // 不需要转型 // C#需要强制转换,其他语言未必需要 Employee e = (Employee) o; } } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. class Employee {...} class Manager : Employee {..
您可能关注的文档
- 《00发动机原理绪论.ppt
- 《010第二章基础工程的基本原理.ppt
- 《010第十章高级界面设计.ppt
- 《01土的分类与基本性质.ppt
- 《01分析天平的使用简.ppt
- 《01Molpro.ppt
- 《01实验一微生物培养基的配制灭菌及纯培养.ppt
- 《01导论.ppt
- 《01人机工程学概论.ppt
- 《01地基与基础绪言.ppt
- 太原钢铁有限公司2024年定向招聘历年高频难、易错点模拟试题附带答案题库大全及参考答案(基础题).docx
- 湖南省浏阳一中、株洲二中重点中学2025届高考物理考前最后一卷预测卷含解析.doc
- 太原钢铁有限公司2024年定向招聘历年高频难、易错点模拟试题附带答案王牌题库附答案(培优A卷).docx
- 河北保定市容城博奥学校2025届高三第五次模拟考试物理试卷含解析.doc
- 电气项目风险防控探究-全面分析,有效应对,安全施工.pptx
- 创意之旅小学美术作品创作指导教学研究课题报告.docx
- 太原钢铁有限公司2023-2024年招聘1人历年高频考题难、易错点模拟试题附带答案真题及参考答案(新.docx
- 太原钢铁有限公司2023-2024年应届高校毕业生招聘高频考题难模拟试题附带答案真题【精选题】.docx
- 太原钢铁有限公司2023-2024年应届高校毕业生招聘高频考题难模拟试题附带答案真题【精选题】.docx
- 高中化学实验课程设计的创新实践教学研究课题报告.docx
文档评论(0)