Think in ActionScript 3.doc

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Think in ActionScript 3.0 1.类的由来 1.1? C 语言中的结构体 ??? 这部分属于历史问题,与技术无关,了解历史可以让我们更好地把握现在和将来。C 语言中的结构体 struct 可以说是类的最原始的雏形。只有 int, float, char 这些基本数据类型是不够的,有时需要用不同的数据类型组合成一个有机的整体来使用。例如一个学生有学号和姓名就可以定义一个 Student 的结构体: struct Student { ??? int id; ??? char[20] name; } student; main() { ?// 可以使用“对象名.属性” 的方式来操作数据 ??? student.id = 5; ??? student.name = “ZhangSan”; } 1.2 从结构体到类的演化(C —— C++) ?C 中的结构体 ?C++ 中的结构体 struct 结构名 { ??? 数据成员 }; struct 结构名 { ??? 数据成员 ??? 成员函数 } ??? C++ 首次允许在结构体中定义成员函数!那么再将 struct 关键字换成 class 不就是我们现在所看到的类的形态了吗? class Student { ?private: ??int id; ??char[20] name; ?public: ??void gotoSchool() {} } ??? C++ 最初的名字叫做“C with class”(带类的C),经过长时间的发展,最终敲定将其命名为 C++,“++”表示加一操作,代表它比 C 语言更进步,更高级。 ??? 面向过程的编程就是在处理一个个函数,而现在的面向对象编程处理是函数加数据,形式上就这么点儿差别。也许刚刚接触时它时会感到有些困难,这很正常。一旦你真正了解它,那你一定会爱上它。所以,请大家不要畏惧,技术永远向着更方便,更简单,更高效的方向发展,而不会向越来越难,越来越复杂发展。对于面向对象程序设计(OOP)而言,代表着越来越接近人类的自然语言,越来越接近人类的思维,因此一切都会变得越来越简单。 ??? 从结构体到类的演变过程中我们看到,类中是可以定义函数的。因此,引出了面向对象三大特性之一,封装。 2.封装(Encapsulation) 2.1 封装的概念 ??? 封装的定义:把过程和数据包围起来,对数据的访问只能通过已定义的界面。在程序设计中,封装是指将数据及对于这些数据有关的操作放在一起。 ??? 知道这些定义,并不能代表技术水平有多高。但是如果去参加面试也许会用得着。简单解释一下,它的意思是指把成员变量和成员函数放在一个类里面,外面要想访问该类的成员变量只能通过对外公开的成员函数来访问。用户不需要知道对象行为的实现细节,只需根据对象提供的外部接口访问对象即可。 ??? 这里有一个原则叫做“信息隐藏”—— 通常应禁止直接访问成员变量,而应该通过对外公开的接口来访问。下面,看一个小例子: class Father { ??? private var money:int = ??? public takeMoney():int { ??????? money -= 100; ??????? return 100; ??? } } ??? 定义名为 Father 的类(一个有钱的父亲),类中有一个成员变量 money 它的访问权限为 private 意思是说 money 是 Father 私有的,private 是指只有在这个类里面才能访问,出了这个类就无法访问该成员了,稍后会有关于访问权限更多的解释。 ??? 类中还定义了 takeMoney() 这个方法,它是 public 的,可以说是对外公开的一个接口。 ??? 从这个例子中可以看出,任何人要想从 Father 类取一些 money 的话,都只能通过 takeMoney() 这个方法去拿,而不能直接访问 money 这个属性,因为它是私有的。只有通过 takeMoney() 这个公开的方法从能修改 Father 类的成员变量让 money -= 100 —— 每次只能给你 100 元。对外只能看到 takeMoney() 这个方法,该方法如何实现的别人不知道,反正你每次只能得到 100 块。 2.2 封装的好处 ??? 封装的好处:保证了模块具有较高的独立性,使得程序的维护和修改更加容易。对应程序的修改仅限于类的内部,将程序修改带来的影响减少到最低。 2.3 封装的目的 (1)隐藏类的实现细节; (2)迫使用户通过接口去访问数据; (3)增强代码的可维护性。 2.4 封装的技巧 ??? 按照纯面向对象编程的思想,类中所有的成员变量都应该是 privat

文档评论(0)

enxyuio + 关注
内容提供者

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

1亿VIP精品文档

相关文档