文档详情

第四章 类型基础.ppt

发布:2018-04-19约3.21千字共18页下载文档
文本预览下载声明
.NET Framework 程序设计 主讲人:张冬梅 Email:zhang_dm@126.com 第II部分 类型的使用 第4章 类型基础 第5章 基元类型、引用类型与值类型 第4章 类型基础 结构 4.1 所有类型的基类型 4.2 类型转换 4.3 命名空间与程序集 4.4 运行时的相互关系(自学) 一、所有类型的基类型 1、所有类型的基类型及继承 System.Object类型是所有其他类型的最终基类 CLR要求每个类型都要继承自System.Object类型 C#.NET的继承 显式的继承 隐式的继承 一、所有类型的基类型 2、Object类的公有实例方法 Equals() 比较方法,返回bool值 2个对象值相同,返回true GetHashCode() 返回对象值的散列码 ToString() 字符串状态输出方法 默认返回类型全名 GetType() 返回当前实例的类型 Finalize() 在自动回收对象之前,执行清理操作 一、所有类型的基类型 3、对象的创建 构造方法 与类型同名、无返回值类型 允许重载 若未显式定义,CLR自动添加一个空的构造方法 一、所有类型的基类型 3、对象的创建 CLR要求所有对象都要使用new操作符来创建 new运算符所执行的工作 第4章 类型基础 结构 4.1 所有类型的基类型 4.2 类型转换 4.3 命名空间与程序集 二、类型转换 1、.NET--类型安全 CLR在运行时要确切的知道一个对象的类型 对象.GetType() 2、类型的转换 隐式转换 将值类型由长度短转换为长度长的类型时; 将对象转换为其原来的类型或者它的任何一个基类型时,不需要转换运算符。 显式转换 将值类型由长度长转换为长度短的类型时; 将对象转换为它的任何派生类型时,要求使用转换运算符进行显式转换。 二、类型转换 类型转换的例子--1 二、类型转换 类型转换的例子--2 二、类型转换 3、使用is和as操作符转型 is操作符 检查对象是否和给定的类型兼容,返回bool型的判断结果 如果对象为null,is操作符返回false值,不会抛出异常 二、类型转换 4、使用is和as操作符转型 as操作符 检查对象是否和给定的类型兼容 如果兼容,as返回一个指向同一个对象的非空指针 如果不兼容,as返回null,不会抛出异常 使用as后,应检查返回结果,再进行操作 第4章 类型基础 结构 4.1 所有类型的基类型 4.2 类型转换 4.3 命名空间与程序集 3、命名空间与程序集 1、命名空间 导入命名空间 全路径引用 using语句 允许为一个类型或命名空间创建别名,消除二义性 定义命名空间 3、命名空间与程序集 2、命名空间与程序集的关系 命名空间与程序集并非必然相关 同一命名空间的类型可以在多个程序集中实现 一个程序集也可以包含不同命名空间中的类型 小结 1、System.Object类型 2、类型转换及判断 3、命名空间 类型转换练习 * * 山东理工大学·计算机学院 2011-2012学年 第1学期 class Employee : System.Object { … } class Employee { … } UML类的继承 System.Object Employee System.Object 属性 + Equals() + GetHashCode() + ToString() + GetType() + Finalize() class Employee { private String ID; public Employee() { } public Employee(String id) { ID=id; } } // 空的构造方法 // 重载,带参数的构造方法 Employee e; e = new Employee(); Employee e = new Employee(); 1)从托管堆(managed heap)中分配指定类型所需数量的字节来作为存储其对象的内存空间 2)初始化对象的附加成员(方法表指针、线程同步字段) 3)传入new操作符中指定的参数,调用类型的实例构造器(构造方法) New运算符完成上述操作后,返回一个指向新对象的引用,该引用被保存在变量e中,其类型为employee 内存 --------------------------------- 线程栈 托管堆 e .. .. .. .. 首地址 //Employee.cs public cla
显示全部
相似文档