zoukankan      html  css  js  c++  java
  • flash学习笔记(七)创建自定义类和进行面向对象的编程

    第十七章 创建自定义类和进行面向对象的编程

    1. 新建as文档,就是类(和java差不多)

    package{

             public class HelloWorld{

                      public function myPrint():String{

                                return "Hello World!";

                      }

             }

    }

    在flash中import HelloWorld

    注意:FLA文件被编译为SWF文件

    1. 对于面向对象的理解:

    按定义来说很简单:抽象、继承、封装、多态

    车:抽象出类   car

    继承:车是一个广义的概念,自行车也是车     bicycle继承car

    封装:车和自行车都有属性,放在一个类中就是封装,调用方便

    那么,为什么面向对象比面向过程好呢?

    1、 如果你的程序特别小,只有几百行代码,没有必要面向对象;面向对象是针对大量重复调用公共函数(类)的方法。

    2、 当你的项目特别大时,面向对象中的类的重复调用的好处就体现出来了。

    3、 面向对象的维护也比面向过程容易。

    4、 当理解了面向对象后,就要了解设计模式、框架之类的东西了。

    注:有句话很赞同,面向过程注重功能实现,面向对象注重提供API

    1. 使用as3.0定义类或者接口的脚本必须存储为外部脚本文件.as,并且在每个脚本中定义一个公共类。
    2. 对于as文档:

    1>     类必须用class声明,可以public才能够调用

    2>     Class中定义属性或者函数

    3>     类必须使用包作为容器,package

    4>     注意:构造函数,在类中public HelloWorld():void{}//空的

    1. 方法的重载:

    Flash不支持冲在overLoad:变相实现

    Pulic function myMethod(…args):void{

      If(args.length == 2){

        If(args[0] is int)

    }

    }

    1. 多个类可以放在同一个包中。
    2. 成员访问控制:

    Internal:对统一包中的引用可见

    Private:对同一个类中的引用可见

    Protected:对同一类以及派生类中的引用可见

    1. 扩建内建ActionScript类:可以调用loadSound()方法

    Class JukeBox extends  sound{

      Var songList:Array = new  Array(“1.mp3”,”2.mp3”,”3.mp3”);

      Function playSong(songID:Number){}

    }

    1. 接口的继承:

    Interface IA extends interface  IB{}

    1. Super调用派生类的构造函数
    2. 重写方法和属性:

    Classs Named_Cart extends Cart{

      Public  function  Named_Cart():void{ }

      Override public function doSomething():void{

        //

      }

    }

    注意:未被final声明;private不可见;数据类型、参数数量都一样

    注意区别方法重载和方法覆盖的区别。

    1. 区别实例成员和类成员:

    实例成员:也就是声明的实例调用的属性和方法;

    类成员:就是直接通过类调用的静态成员。Public static var varialbeName;

    1. 创建动态类:

    Public dynamic class Person{

      Public var name:String;

      Public var age:Number;

    }

    Var a_person:Person = new Person();

    A_Person.hairColor = “Blue”;//由于是动态类,不会出错

    1. 接口和抽象类的区别:

    抽象类:可以实现部分方法

    接口:可以继承多个接口;方法不能有限制关键字

    1. 隐式获取/设置属性:

    Var user:String;

    Function get username():String{

      Return user;

    }

    Function set username(name:String):void{

      User = name;

    }

    使用:

    Var name = obj.userName;

    Obj.username = “Jack”;

  • 相关阅读:
    Meta http-equiv属性详解(转)
    meta
    meta viewport 详解
    jquery 常用函数
    jquery 设置css样式
    jquery 常用函数集锦
    DATEDIFF 和 DATEADD
    C# 二进制图片串互转
    C# 二进制字符串互转
    重集合中找出最相近的一个数字
  • 原文地址:https://www.cnblogs.com/tinytiny/p/2419636.html
Copyright © 2011-2022 走看看