Ch07.类成员.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch07.类成员

7.7.4 析构函数 析构函数(destructor)用于实现销毁类的实例所需的操作,如释放对象占用的非托管资源(例如:打开的文件、网络连接等) 析构函数声明的基本形式如下: ~类名() { 析构函数方法体 }[;] 析构函数具有下列特征: 析构函数的名称由类名前面加上“~”字符构成 析构函数既没有修饰符,没有返回值类型(甚至也不能使用void),也没有参数 无法继承或重载析构函数,一个类只能有一个析构函数 不能显式调用析构函数 可以认为析构函数是构造函数的相反操作 析构函数隐式地调用对象基类的Finalize(终结)方法,即对继承链递归调用 Finalize 方法。故不应使用空析构函数 【例7.25】析构函数示例 实验和习题 实验 5-1~5-2 教程 例7-1~7-25 Ch07.类成员 单选题 填空题 思考题 第7章 类成员 类成员的基本组成 字段的声明和使用 方法的声明和使用 属性的声明和使用 索引器的声明和使用 运算符重载 构造函数和析构函数 7.1 类的成员 类的主要成员包括两种类型,即描述状态的数据成员和描述操作的函数成员 类的成员或者是静态成员(static member),或者是实例成员 (instance member) 类所能包含的成员种类: 成员 说明 常量 与类关联的常量值 字段 类的变量 方法 类可执行的计算和操作 属性 定义一些命名特性以及与读取和写入这些特性相关的操作 索引器 与以数组方式索引类的实例相关联的操作 事件 可由类生成的通知 运算符 类所支持的转换和表达式运算符 构造函数 初始化类的实例或类本身所需的操作 析构函数 在永久丢弃类的实例之前执行的操作 类型 类所声明的嵌套类型 7.1.1 数据成员 数据成员用于描述类的状态,包括:字段、常量和事件 数据成员可以是静态数据,与整个类相关;或实例数据,类的每个实例都有它自己的数据副本 字段是与类相关的变量。 常量是与类相关的常量。使用const关键字来声明常量。 事件是在发生某些行为(例如改变类的字段或属性,或者进行了某种形式的用户交互操作)时由类生成的通知,它可以让对象通知调用程序 7.1.2 函数成员 函数成员用于提供操作类中数据的某些功能,包括方法、属性、构造函数和析构函数、运算符以及索引器 方法是与某个类相关的函数,它们可以是实例方法,也可以是静态方法。实例方法处理类的某个实例,静态方法提供了更一般的功能,不需要实例化一个类就可以直接调用(例如Console.WriteLine()) 属性(property)是字段的自然扩展。属性和字段都是命名的成员,都具有相关的类型,而且用于访问字段和属性的语法也相同。字段表示存储位置,而属性则通过访问器(accessor)指定在它们的值被读取或写入时需执行的语句(一般用于读取或写入类的私有字段)。 构造函数是名称与类名相同的特殊方法,当类被实例化时,首先就会执行构造函数。 析构函数也是一种特殊的方法,其名称由类名前加上符号“~”所构成。当类的实例无效时,这个函数就会被执行。 索引器与属性相似,其目的是使类的实例可按与数组相同的(语法)方式进行索引访问。 运算符用于定义类的实例的运算操作,一般用于对预定义的运算符进行重载(重新定义运算规则) 7.1.3 静态成员和实例成员 静态成员属于类,被这个类的所有实例所共享 实例成员属于对象(类的实例),每一个对象都有实例成员的不同副本 常量会隐式地声明为静态成员,其他没有用static修饰的成员都是实例成员或者称为非静态成员 静态成员的特征 静态成员必须通过类名来引用。例System.Console.WriteLine(Hello, World!)或者Console.WriteLine(Hello, World!)。 一个静态字段共享同一个存储位置。创建了一个类的多个实例时,其静态字段在内存中占同一存储区域,即永远只有一个副本。 静态函数成员(方法、属性、事件、运算符或构造函数)属于类的成员,故在其代码体内不能直接引用实例成员,否则将产生编译错误 实例成员的特征 实例成员必须通过对象实例来引用。例3.4中的testMyHelloWorld.SayHello()。 实例字段属于类的实例。每当创建一个类的实例时,都在内存中为该实例字段开辟一块存储区域。类的每个实例分别包含各实例字段的单独副本。 实例函数成员(方法、属性、索引器、实例构造函数或析构函数)作用于类的给定实例,故在其代码体内既可以使用实例成员,也可以直接引用类的静态成员 【例7.1】静态成员和实例成员的使用示例1 【例7.2】静态成员和实例成员的使用示例2 7.2 字段的声明和访问 声明: [字段修饰符] 类型 字段名 [= 初始化]; 访问: 对象.字段名; 【例7.3】字段的声明和访问示

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档