zoukankan      html  css  js  c++  java
  • 殿堂之路 笔记

    初始化符合对象的三种方式:
    1、定义属性的时候初始化。缺点是不论复合的对象有没有用到,一定会被初始化,导致资源浪费。
    另外,如果需要在运行的时候创建复合对象,这种方式也不行。
    (比如某个复合对象是在类的某个地方才用的到的,只在用到的时候才初始化,那么这种方式就不合适。)

    2、构造函数初始化。这种是在复合类对象创建时,被复合的对象才会被创建。但如果想在复合类对象构造函数被
    调用之前就创建被复合的对象,要使用第一种方式。

    3、在使用对象时初始化。当使用到被复合的对象时,才初始化。这种方式需要判断复合对象是否为null,在确保是否
    初始化。一般在被复合的对象资源占用巨大,或者资源稀缺时,采用这种方式。对于as3来说,一般在位图应用、网络连接、
    端口连接时用到。
    (这里比如做那个tile的寻路标志,用这三种方式都可以,但采用第三种方式的时候,要判断是否为Null,如果为null,才new,否则浪费内存!)


    1、所以非private的实例方法和属性都会被继承,任何使用父类对象的地方都可以用子类对象来代替。
    2、类的静态成员不会被子类继承,但在子类中可以访问父类的静态成员。父类的静态成员存在的范围链包括父类和其所有子类。
    3、如果子类的实例成员名称或静态成员名称与父类静态成员名称相同,那么父类静态成员将被屏蔽。这个时候要访问父类的静态成员,
    只能用父类的类名加上静态成员名称..
    4、父类的protected成员,在子类中可以访问到。不在一个Package里,也可以访问。如果没有继承,那么protected关键字的作用
    和private一样。
    5、重写方法必须用override标明。在as34中不可以重写属性,重写方法不可以改变参数类型和数目。
    6、被关键字final定义过的实例方法不能被重写,父类的private成员不能被重写。


    1、向下转换不是将父类的对象当成子类的对象。意思是:当一个子类对象以父类数据类型使用时,可以把它还原成子类对象。如果一个对象
    只是父类的实例,而不是子类的实例,那么如果将它向下转换为子类对象是不能成功的。不论在编译时还是在运行时,都不可能成功。
    一般在运行时使用向下转换。向下转换是一种运行时类型识别机制,在运行时,产生了很多父类类型的对象,要将它们识别为子类的对象,
    并加以不同的操作,这才是转换的功能和威力所在。

    2、使用as转换或使用显示强制转换。
    使用as关键字时,如果发现类型不合,这个as表达式返回的就是null;使用as程序可读性好,但很有可能因为返回的是空对象而执行失败,调试麻烦。
    使用显示强制转换时,如果类型不合,那么就会抛出typerror异常,使用显示强行转换,则可以使用异常处理机制来进行特殊的处理,尤其在一些大型
    项目中比较喜欢这个。
    需要异常处理时,使用显示强行转换。不需要的,使用is和as关键字一起类进行向下转换。


    1、24位色是因为要使用8位(0或1)才能表示256个数值,8位数乘以3(红、黄、蓝)需要24位才能表示1678万种颜色值。32位颜色有额外的8位来表示
    透明度。
    2、24位颜色:0xffffff,6个16进制数分成三部分,第一部分代表红色,第二部分绿色,第三部分蓝色。即:0xrrggbb
    每一个合成色都可以表示为0-255(16进制表示:0x00到0xff)中的值。如:0xff0000表示纯红色,0x0000ff表示纯蓝色。
    32位颜色以0xAARRGGBB这样的格式来表示。其中AA表示为透明度。

    3、uint(无符号整型),比整型(int)能存储更多的数值,由于色彩值永远都是正数,并且可能超出int的值域范围,所以要用uint.如0xffffffff.

  • 相关阅读:
    魏新 20191017-1 每周例行报告
    魏新 20191010-2 每周例行报告
    魏新 20190919-1 每周例行报告
    魏新 20190919-3 效能分析
    总结
    感谢信
    20191024-1 每周例行报告
    20191017-1 每周例行报告
    第三周作业03
    第三周作业1
  • 原文地址:https://www.cnblogs.com/axyz/p/2152106.html
Copyright © 2011-2022 走看看