zoukankan      html  css  js  c++  java
  • action script3.0殿堂之路.pdf 读书笔记

    1.显示列表API:
    spring
    shape
    movieClip
    sprite
    ---------------
    声明变量:
    不常用的定义方式:
    var h;//未指定类型,默认为untyped
    var g:*;//跟上面是一样的效果

    uint number int 的使用要注意,
    可能计算出来的值不是你想像中的值,
    比喻:
    var float:Number =0;
    for:10次-> float += 0.1;
    得到的是0.999999999999;
    -------------------------
    判断String类型转换成数值类型时,判断String是否能够正确转换成数值
    !(Number("string"))
    ----------typeof用法
    trace(typeof 10);//输出:number
    返回的是类型说明
    ----------is的用法
    trace(9 is Number);//输出:true
    ----------in用法
    var a:Array = ["q","w","e"];
    trace(2 in a); //数组 a 含有索引 2,所以为 true
    trace(3 in a); //只有个元素,没有索引为 3 的元素,所以为 false

    var b:Object = {ary:a, name:"ok"};
    trace ("ary" in b); //true,确实有 ary 为键的属性
    ----------deleted
    2.5.13 delete:ActionScript3 中的作用变了
    在 ActionScript2 中可以使用 delete 关键字删除对象任意一个的实例属性。
    但在 ActionScript3 中,delete 关键字的作用已经大大减少,它只可以来用删除
    对象的动态实例属性,非动态属性不能删除。
    如果要将一个属性所持有的引用删除,将 null 赋值给该属性即可。
    var b:Object = {ary:"one",name:"ok"};
    deleted b; //会报错,不能这样删除了
    deleted b.ary; //成功,因为 ary 是 b 对象的动态属性
    trace (b.ary); //输出:undefined

    b = null;
    ----------
    function testA(...paras):void {
    trace ("参数长度:" + paras.length);
    for (var i in paras){
    trace (paras[i]);
    }
    }
    testA(1,[2,3],"String type");
    /*输出:
    参数长度:3
    1
    2,3
    String type
    */
    function testB(firstPara:String,...args):void {
    trace (args.length);
    for (var i in args){
    trace (firstPara +":"+args[i]);
    }
    }
    testB("B test", [100,200],1000, "Foo");
    /*输出:
    3
    B test:100,200
    B test:1000
    B test:Foo
    */
    -------------动态类---
    dynamic class Bar {
    public var web:String = “Kingda’s Blog”;
    }
    ---------------------use namespace XXX
    use namespace bad;
    ---------------------:: namespace的用法
    ::
    在同一个类下面,有两个相同的名字的方法,可以这样调用
    person.public::hi(); //输出:public:hi()
    person.custom::hi(); //输出:custom:hi()

    custom function hi():void {
    trace ("custom:hi()");
    }
    private function hello():void {
    trace ("private:hello()");
    }
    --------------命名空间 -------
    示例 7-1 的代码中,有一个文档类 SamplePlayer 和一个包外类 Player。
    Player 中使用命名空间 phone(电话)和 ball(球类)分别定义了两个 da()
    方法。两个 da()在不同的命名空间下有不同的实现。在 SamplePlayer 中通过
    use namespace ball 打开了 ball 命名空间。从而调用 foo.da()方法时就调用了
    ball 命名空间下的 da()方法。在最后两行又演示了如何联合命名空间明确指定方
    法。
    通过示例 7-1 的代码,可以对命名空间的使用有一个大概的印象。暂时看不
    明白没有关系,命名空间具体的定义和使用在后面还有详细的讲述。

    package org.kingda.book.basicoop.namespaces{
    import flash.display.Sprite;
    public class SamplePlayer extends Sprite{
    public function SamplePlayer() {
    //use namespace ball;
    var foo:Player = new Player();
    //foo.da(); //输出:打():我要玩一下球
    //下面两行明确指定使用哪一个命名空间中的方法
    foo.phone::da(); //输出:打():我要拨个电话
    foo.ball::da(); //输出:打():我要玩一下球
    }
    }
    }
    namespace phone;
    namespace ball;

    class Player {
    phone function da() {
    trace ("打():我要拨个电话");
    }
    ball function da() {
    trace ("打():我要玩一下球");
    }
    }
    -----------接口--------------
    如何实现接口
    一个类在定义时如果实现(implements)一个接口,其实是在做一个宣告:
    它将拥有这个接口定义的所有方法,可以把它当成这种接口的数据类型来使用。
    实现接口的语法和继承的语法相似,不过不再使用 extends 关键字,而是使
    234
    第 10 章 *抽象类和接口
    用 implements 关键字。而且一个类可以实现多个接口,多个接口之间用“,”
    号隔开。
    implements 的使用格式如下。
    public class 类名 implements 接口名{…} //单接口
    public class 类名 implements 接口名 A,接口 B,接口 C{…} //多接口
    --不支持多重继承,但可这样在单继承下,实现多个接口
    //注意,A 除了继承 BaseA 外,实现了两个接口
    class A extends BaseA implements IHasName,IClonable{

    ----------------------------
    -----------顶级包-----------核心类
    setInterval(function,number);

    ----------------------------string与stringBuilder------------
    StringBuilder 类是什么?它对于很多中级爱好者而言,并不熟悉。但是在
    Java、NET 中都有这个类的存在。字符串在频繁修改时,效率低下。通俗地说,
    StringBuilder 是为了改进这种情况而加进的工具类。下面来详细解释产生这种状
    况的情形、原因和解决方式。
    其实as3.0 中字符串用+号连接速度是非常快的
    -----------------------------

    看书的,学到的知识点比较广,很多都没有用到,时间一久必定又忘记.所有要常敲代码.

  • 相关阅读:
    快速幂模板
    部分有关素数的题
    POJ 3624 Charm Bracelet (01背包)
    51Nod 1085 背包问题 (01背包)
    POJ 1789 Truck History (Kruskal 最小生成树)
    HDU 1996 汉诺塔VI
    HDU 2511 汉诺塔X
    HDU 2175 汉诺塔IX (递推)
    HDU 2077 汉诺塔IV (递推)
    HDU 2064 汉诺塔III (递推)
  • 原文地址:https://www.cnblogs.com/orp1989/p/4517450.html
Copyright © 2011-2022 走看看