Flex面向对象和java类似,这里只有一些注意点
在flex中,构造函数只能有一个
修饰符:
private:私有
internal:同一个包中,子类不可访问
public:公有
protected:子类可以访问
常量:
常量一般用大写
定义常量用const:示例:public const PI:Number = 3.1415926;
接口:
在接口中定义方法时,方法的前面不能加访问修饰符
数组:
以下是一个数组的示例:
var temArr:Array = new Array();
temArr.push("I"); //使用push()方法向数组中添加值
temArr.unshift("love"); //使用unshift()方法将值添加到数组的第一个
temArr.splice(1,0,"Flex 3");
//splice()方法的第一个参数:将值放到第几位
//splice()方法的第二个参数:从刚才放置值的位置开始你要不要删除元素,删除几个,0的意思是不删除
示例二:
var books:Array = new Array("IBM","APPLE","SUN","ADOBE");
books.pop(); //删除数组中的最后一个元素
books.shift(); //将当前数组中的首元素删除
books.splice(1,1,"Hehe","XiXi");
数组排序:
var nums:Array = new Array(12,1,2,14);
nums.sort(Array.NUMERIC | Array.DESCENDING); //对数组进行排序,第一个参数:按数字排序,第二个参数:降序
list1.dataProvider = nums; //将数组放到组件中显示
nums.reverse(); //reverse():将数组逆序
list2.dataProvider = nums;
示例四:
var students:Array = new Array();
students.push({name:"Jake",age:20});
students.push({name:"Anmo",age:19});
students.push({name:"Tom",age:17});
students.sortOn("age",Array.NUMERIC);
//新建一个数组,然后将上面数组的属性值合二为一的放到新建的数组中(因为控件不能显示二维数组)
var data:Array = new Array();
for(var i:int = 0; i < students.length; i++){
data.push(students[i].name+":"+students[i].age);
}
list2.dataProvider = data;
运行时类型检查:
定义:在运行时检查数据的类型
<mx:Script>
<![CDATA[
internal function init():void{
var str:* = "Hello,World";
try{
myCanvas.addChild(str);
}catch(errObject:Error){
trace("the error message is:"+errObject.message);
}
}
]]
</mx:Script>
<mx:Canvas id="myCanvas"/>
as的使用:
as是用来转换数据类型的
示例:
data.push(10 as String);
判断数据类型
typeof:
示例:
typeof(arr); //这个可以输出“Object”(这个不太精确)
is:
示例:
arr is Array; //这个输出“true”
在flex中,构造函数只能有一个
修饰符:
private:私有
internal:同一个包中,子类不可访问
public:公有
protected:子类可以访问
常量:
常量一般用大写
定义常量用const:示例:public const PI:Number = 3.1415926;
接口:
在接口中定义方法时,方法的前面不能加访问修饰符
数组:
以下是一个数组的示例:
var temArr:Array = new Array();
temArr.push("I"); //使用push()方法向数组中添加值
temArr.unshift("love"); //使用unshift()方法将值添加到数组的第一个
temArr.splice(1,0,"Flex 3");
//splice()方法的第一个参数:将值放到第几位
//splice()方法的第二个参数:从刚才放置值的位置开始你要不要删除元素,删除几个,0的意思是不删除
示例二:
var books:Array = new Array("IBM","APPLE","SUN","ADOBE");
books.pop(); //删除数组中的最后一个元素
books.shift(); //将当前数组中的首元素删除
books.splice(1,1,"Hehe","XiXi");
数组排序:
var nums:Array = new Array(12,1,2,14);
nums.sort(Array.NUMERIC | Array.DESCENDING); //对数组进行排序,第一个参数:按数字排序,第二个参数:降序
list1.dataProvider = nums; //将数组放到组件中显示
nums.reverse(); //reverse():将数组逆序
list2.dataProvider = nums;
示例四:
var students:Array = new Array();
students.push({name:"Jake",age:20});
students.push({name:"Anmo",age:19});
students.push({name:"Tom",age:17});
students.sortOn("age",Array.NUMERIC);
//新建一个数组,然后将上面数组的属性值合二为一的放到新建的数组中(因为控件不能显示二维数组)
var data:Array = new Array();
for(var i:int = 0; i < students.length; i++){
data.push(students[i].name+":"+students[i].age);
}
list2.dataProvider = data;
运行时类型检查:
定义:在运行时检查数据的类型
<mx:Script>
<![CDATA[
internal function init():void{
var str:* = "Hello,World";
try{
myCanvas.addChild(str);
}catch(errObject:Error){
trace("the error message is:"+errObject.message);
}
}
]]
</mx:Script>
<mx:Canvas id="myCanvas"/>
as的使用:
as是用来转换数据类型的
示例:
data.push(10 as String);
判断数据类型
typeof:
示例:
typeof(arr); //这个可以输出“Object”(这个不太精确)
is:
示例:
arr is Array; //这个输出“true”