NEKOHAND

泪水即为青春的钻石, 为你装点出光彩

Nekohand > 学研 > [ActionScript学习笔记] (一). 语言的索引

[ActionScript学习笔记] (一). 语言的索引

2014-9-12 / 405

本篇文章原作于2014.2.6, 搬迁完成

实例1. 音频播放器

看了一些代码后准备自己实现一个音频播放器, 作为一个基本的验证程序。

  1. 基于Flash CS6与Flex Builde(Action Script 3)的协同开发, SWC组件的使用
  2. 组件的应用.

移动应用的产生, Flash与Html5的战斗越来越激烈。

 

  • 基本的OOP(Objected-Oriented Programming面向对象(物件)编程概念
    •     对象: 对象有自己的状态, 行为 和 唯一标识;
      所有相同类型的对象所具有的结构和行为在它们共同的类中被定义。
    • 对象的状态: 包括这个对象已有的属性(预定义好的)
      加上这个对象的属性值(往往是动态的)
    • 行为: 一个对象如何影响外界或被外界硬性。 对象自身状态的改变和信息的传递
    • 标识:一个对象所具有的区别于所有其他对象的属性。
    • Class: 相当于指代一类事物。 描述了物件的特征和方法。 这个特征和方法由object来实现。用猫举例的话。
      • 抽象     Class : 猫  有 毛发 和 叫声
      • 具体    Object:  Ketty -> 特有的 毛发 和 叫声

 


 

Class: 名称及包路径
构造函数
属性: 实例属性(Instance Properties) 和 静态属性 (Static properties)
方法: 实例方法(Instance method) 和 静态方法(Static method)

package 包路径{
public class 类名{
// 静态属性
// 静态方法
// 实例属性
// 构造函数
// 实例方法
}
}
对象的属性和方法
声明实例属性
var 属性名称:属性方法
var 属性名称:属性类型 = 值;
声明实例方法
function 方法名称(…参数): 返回值类型{
// 方法内容
}
var 方法名称: Function;
var 方法名称: Function = function(参数): 返回值类型{
// 方法内容
}

同一个类公用: 静态属性和静态方法, 不与任何实例相关联。

static var 属性:属性值
public static var 属性:属性值
static const 属性:属性值 =值
构造函数: public 访问控制, 不能返回值(undefined)

动态类和密封类: 非必要不使用动态类. 动态类可以定义原函数没有定义的属性
as3.0 方法重载: 将写多个同名方法, 达到同名的函数实现不同的功能
方法: 区别于参数的数目类型

 


 

封装: 隐藏内部细节, 只给出功能接口
public(成员可以被其他所有成员访问) * protected * internal * private(最大的修改自由)
封装层次:
包外。 公共区域. 被任意第三方修改
包     包内成员互访, 包内成员不能被包外成员访问到
类: 类的内部成员互访..外部不能访问类的私有成员
包外类: 最低的层级, package 外面定义的class。 只能被同一编译单元的成员访问
例子:
外部程序 调用 PAG1 类 1
PAG1 中 有 类 2
这时 不改变外部程序. 类1中添加调用类2 的语句可实现类2的功能。

getter and setter 方法运用 p127


复合
要点: 确保复合的对象初始化.
1. 定义属性时初始化
2. 构建函数中初始化(常用)
(1)函数名称init
(2)该函数采用private
3. 使用时初始化(用于初始化对象非常大的时候)

继承 extends
子类具有父类所有非private的实例属性和方法, 且在任何使用父类对象的地方, 都可以使用子类对象来代替, 反之不一定
父类的静态成员可以被子类访问但是不可以被子类继承
super 不必重写代码, 简单的从父类继承原有方法
用protected: 类成员需要被子类访问,
用private:该成员是父类的实现机制, 子类和其他类不应该知道。
final 防止子类重写
需要向上转换时, 才考虑采用继承
接口是继承的另一种选择


多态: 原有的类->类型,数据种类:简而言之就是共同点. 继承的子类和父类都有父类的共同点。 虽然不继承自同一父类, 但同时实现了一种功能, 这种共同点也是一个数据种类
LSP 里氏代换原则: 在一个程序中, 将所有类型为A的对象 , 都换成类型为B的对象, 而程序的行为没有变化。 那么类型B是类型A的子类型。
upcasting 向上转换: 将子类对象当做父类的对象来使用
downcasting: 当一个子类对象以父类数据类型使用时, 可以将它再还原成子类对象。
as 和 is

 

 

上一篇 下一篇

添加评论