教学精品-3天学透Actionscript(第三天)
8.面向对象程序设计
8.1 类和对象的概念
类:类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法。
对象:对象是类的实例。
8.2 类之间的关系
系统中的类有那些关系:依赖、关联(聚合、合成)、泛化、实现。
1.依赖:对于外部类或对象的引用;
5.关联:关联暗示两个类在概念上位于相同的级别;
6.聚合:表示一种“拥有”关系,是两个类之间一种整体 / 局部的关系;
7.合成:表示一种更强“拥有”关系,就像人和腿的关系一样。组合而成的新对象对组成部分的内容分配和释放有绝对责任;
8.泛化:表现为继承 extends;
9.实现:表现为实现 implements。
阅读全文…
教学精品-3天学透Actionscript(第二天)
5. 多态(Polymorphism)
5.1 多态的概念
面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
多态的作用:消除类型之间的耦合关系。
现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。
下面是多态存在的三个必要条件,要求大家做梦时都能背出来!
5.2 多态存在的三个必要条件
教学精品-3天学透Actionscript(第一天)
看到了一篇很不错的OOP教程,摘抄下来学习
1.类的由来
1.1 C 语言中的结构体
这部分属于历史问题,与技术无关,了解历史可以让我们更好地把握现在和将来。C 语言中的结构体 struct 可以说是类的最原始的雏形。只有 int, float, char 这些基本数据类型是不够的,有时需要用不同的数据类型组合成一个有机的整体来使用。例如一个学生有学号和姓名就可以定义一个 Student 的结构体:
1 2 3 4 5 6 7 8 9 | struct Student { int id; char[20] name; } student; main() { // 可以使用“对象名.属性” 的方式来操作数据 student.id = 5; student.name = “ZhangSan”; } |
Flash中oop的设计模式
有人问我flash的as应该怎么写,我可以很负责任地告诉他,想怎么写就怎么写,因为as以及flash内部的构成模式决定了它的高度自 由化。理论上来说,用按钮的on事件,加上stop(),play(),gotoAndStop(),gotoAndPlay(),就可以实现一个 flash里大部分的逻辑关系,而且源代码简单易懂。但是大多数人不会这么做,是因为这种方法实在太让人敬佩。稍有常识的程序员都会知道面对对象与面对过 程的区别。Flash 的编程虽然只是以脚本的形式出现,并且还很不完善,比如,没有多继承,但已经初步体现了oop的思想。这篇文章现在总结一下flash中面对对象的设计模 式问题,以及一些自创的思路。
