Flash AS 教程:类和面向对象编程

互联网   发布时间:2008-10-06 01:25:07   作者:佚名   我要评论
类和面向对象编程 类(Class)和面向对象(Object Oriented),对于有些读者来说可能还没接触过而有些读者可能已经在 AS (或其它语言) 中使用类很多年了,为了让大家都能学会,我会扼要的介绍一下这些基础知识。就算是 AS 2 的 OOP 专家也希望能略读下这一段,因为 AS 3.0 的
类和面向对象编程
类(Class)和面向对象(Object Oriented),对于有些读者来说可能还没接触过而有些读者可能已经在 AS (或其它语言) 中使用类很多年了,为了让大家都能学会,我会扼要的介绍一下这些基础知识。就算是 AS 2 的 OOP 专家也希望能略读下这一段,因为 AS 3.0 的工作原理确实发生了很大的变化。如果你说你从没用过类,那你就错了,只要你在 Flash 中写过代码,那么实际上就已经使用了类。类可以简单理解为一种对象, MovieClip 就是影片剪辑的类,而文本框、影片剪辑、按钮、字符串和数值等都有它们自己的类。
一个类最基本的两个部分:属性(数据或信息),行为(动作或它能做的事)。属性(Property)指用于保存与该类有关的信息变量,行为(Behavior)就是指函数,如果一个函数是这个类中的一部分,那么我们就称它为方法(Method)。
一个基本的类:
常用 Flash 的朋友都知道,我们可以在库中创建一个元件,用这个元件可以在舞台上创建出很多的实例。与元件和实例的关系相同,类就是一个模板,而对象(如同实例)就是类的一个特殊表现形式。下面来看一个类的例子:
package {
public class MyClass {
public var myProperty:Number = 100;
public function myMethod() {
trace("I am here");
}
}
}
先来说明一下这段代码。在这里有些新的知识,对于 AS 2 老手也如此:包的声明。包(Package) ,作用就是把相关的类进行分组。知道这一点就够了,我们不再进行深入的讨论,本书的示例甚至不会用到包。Package 这个关键字和一对大括号是必需有的,我们理解为默认包,紧随其后的就是类的定义。
另一个变化是 AS3.0 中的类拥有了访问关键字。访问关键字是指:一个用来指定其它代码是否可访问该代码的关键字。 public (公有类) 关键字指该类可被外部任何类的代码访问。本书中所有示例的类都是 public 的。在深入学习了 AS 3.0 后,我们会发现不是所有类都是公有的,甚至还有多重的类,这些内容超出了本书的谈论范围。
本例中我们可以看到,这个类的名字为 MyClass,后面跟一对大括号。在这个类中有两种要素,一个是名为 myProperty 的变量,另一个是名为 myMethod 的函数。
包(Package)
包主要用于组织管理类。包是根据类所在的目录路径所构成的,并可以嵌套多层。包名所指的是一个真正存在的文件夹,用 “.”进行分隔。例如,有一个名为 Utils 的类,存在于文件夹 com/ friendsofed/ makingthingsmove/ 中(使用域名作为包名是一个不成文的规定,目的是保证包名是唯一的)。这个类就被写成 com.friendsofed.makingthingsmove.Utils。
在 AS 2 中,使用整个包名来创建一个类,例如:
class com.friendsofed.makingthingsmove.Utils {
}
在 AS 3 中,包名写在包的声名处,类名写类的声名处,例如:
package com.friendsofed.makingthingsmove{
public class Utils {
}
}
导入(Import)
想象一下,每次要使用这个类的方法时都要输入 com.friendsofed.makingthingsmove.Utils,是不是太过烦琐太过死板了。别担心,import 语句可以解决这个问题。在这个例子中,可以把下面这句放在 package 中类定义的上面: import com.friendsofed.makingthingsmove.Utils;。

相关文章

  • flash cs6鼠标跟随效果实现代码分享

    flash cs6想要实现鼠标跟随效果?该怎么制作呢?今天我们就来看看使用as2.0实现鼠标跟随效果的教程,需要的朋友可以参考下
    2019-05-19
  • Flash cs6怎么使用代码输入中英文文本?

    Flash cs6怎么使用代码输入中英文文本?Flash cs6中可以使用文字工具直接输入文本,也可以使用代码来输入文本,该怎么使用代码输入文本呢?请看下文详细的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定义抽象类和抽象?

    flash as3.0抽象类怎么定义? as3.0中有很多抽象类,该怎么定义抽象类和抽象方法呢?下面我们就来看看简单的例子,需要的朋友可以参考下http://www.jb51.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,该怎么使用呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2018-01-25
  • Flash中怎么实现鼠标点击决定图像位置?

    本教程给大家分享一个Flash小教程,教大家在Flash CS6中怎么实现鼠标点击决定图像位置?方法很简单,感兴趣的朋友欢迎前来一起分享学习
    2018-01-12
  • Flash中如何用代码将图片放在自己想要的舞台位置?

    本教程教脚本之家的ActionScript教程学习者在Flash中如何用代码将图片放在自己想要的舞台位置,教程讲解的详细,感兴趣的朋友欢迎前来分享学习
    2017-11-20
  • 在Flash CS6中使用with函数绘制背景图教程

    本教程教脚本之家的ActionScript教程学习者如何在Flash CS6中使用with函数绘制背景图?教程一步步讲解的挺详细,方法也不难,非常适合Flash新手入门学习
    2017-11-18
  • Flash怎么设置元件坐标?flash使用代码设置元件的坐标的教程

    Flash怎么设置元件坐标?flash中导如的元件需要添加坐标,该怎么定位元件坐标呢?下面我们就来看看flash使用代码设置元件的坐标的教程,需要的朋友可以参考下
    2017-10-11
  • Flash怎么制作来回摇摆的花朵的动画?

    Flash怎么制作来回摇摆的花朵的动画?Flash中想要给花朵制作一段摇摆的动画效果,该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
    2017-05-23
  • Flash怎么制作流动七彩色的文字?

    Flash怎么制作流动七彩色的文字?想要让文字动起来,该怎么使用flash给文字制作一个流动七彩色的动画呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2017-04-23

最新评论