长久以来我们学习flash编程的方法就是错误的,要知道没有一种编程语法是一尘不变的,flash这么多年的飞速发展已经证明了这一点.
我们学习编程不是以学习语法为主要目的,很多写了几年程序的人回过头来看发现自己一直在做苦工,翻来复去的几个函数API,这点对于从事于flash程序开发的人尤其如此.
一直以来编程都有面向过程和面向对象两种形式,下面我们来简单的看下两种编程形式的区别:
“ 面向过程”是一种以 事件为中心的编程思想。
“ 面向对象”(Object Oriented,简称OO)是一种以 事物为中心的编程思想,面向对象的程序设计(Object-Oriented Programming,简记为OOP).
下面我们以公共汽车举例说明:
- “面向过程”就是汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们关心的是某一个事件,而不是汽车本身。我们分别对启动和到站编写程序,类似的还有修理等等,到了编程就是:
public class 运营
{
function 汽车启动{}
function 汽车到站{}
}
- “面向对象”需要建立一个汽车的实体,由实体引发事件。我们关心的是由汽车抽象成的对象,这个对象有自己的属性,象轮胎,颜色等;有自己的方法,象启动,行驶等.方法也就是汽车的行为.而不是汽车的每个事件。
public class 汽车
{
function 到站(){}
function 启动(){}
}
使用的时候需要建立一个汽车对象,然后进行应用。
从上面两个程序的对比我们发现面向对象的编程形式更符合我们的思维习惯,我们对现实生活的直观感觉就是一个个具体的事物,太阳,地球,月亮,房子,汽车,人等等,我们再进一步分析发现每个具体的事物都有自己的一些特征,比如汽车是由轮子,发动机,方向盘等构成的,人有眼睛,鼻子,耳朵,地球有公转和自转等行为.
在面向对象的分析方法中把具有一组属性,方法和事件的集合体称之为对象.
面向对象主要在于对象抽象有技术性,抽象完了后,任何人都可以做后面的工作了,这点保证了团队协作的可能性.
面向对象比较的懒,代码量大,而这恰恰是面向对象的基于代码重用思想的精髓所在.
as3是种面向对象的语言,面向对象的语言发展了几十年,但凡是面向对象的语言都有相似的地方,那么掌握一套学习面向对象语言的方法是非常有必要的.
鉴于市面上千篇一律从基础语法开始的flash书籍的做法,在这里我觉得flash教学书籍的教学大纲有必要进行改革了.
我们不要做IT民工,我们要做IT行业的建筑师,编写程序不是编写简单的代码,代码是有灵魂,有思维的.那么下面就让我们给代码注入灵魂吧.