第六天的博客

第六天的博客

今天上午讲了Java中面向对象的多态技术,下午讲了游戏的示例,迷宫的游戏,里面有一个涉及到的一个关键的知识点是二维数组。

多态(Polymorphism):

在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征。

多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序——即无论在最初创建时还是在需要添加新功能时都可以“生长”的程序。多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它们都是从同一基类导出而来。这种区别是根据方法行为的不同而表示出来的,虽然这些方法都额可以通过同一基类来调用。

《Think in java》

示例:

//PolymorphismDemo.java

class Father{
public void run(){
    System.out.println(getClass());
    
}

}
class Son_01 extends Father{
public void sonRun(){
    
    System.out.println(getClass());
}


}
class Son_02 extends Father{

public void sonRun(){
    
    System.out.print(getClass());
}
}
public class PolymorphismDemo{

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    //向上转型
    Father son_01=new Son_01();
    Father son_02=new Son_02();
    
    //多态方法
    son_01.run();
    son_02.run();
/*
 *   //编译期错误,因为父类中没有sonRun()方法
 *   son_01.sonRun();
 *   son_02.sonRun();
 */
    
}

}
//Output:
class Son_01
class Son_02

AS中的二维数组的应用

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
形式如:var arrayDemo:Array={{1,2,3},{1,2,3},{1,2,3}};

AS二维数组示例:

//ArrayDemo.as

//新建一个二维数组
var array:Array=new Array();
//二维数组的赋值
    array[0]=[1,2,3];
    array[1]=[1,2,3];
    array[2]=[1,2,3];
//访问数组的元素,要用到for循环的嵌套
for(var i:int=0;i<3;i++)
{
    for(var j:int=0;j<3;j++){
        var value:int=array[i][j];
        trace(value);
    }   

}
//Output:
1
2
3
1
2
3
1
2
3

你可能感兴趣的:(第六天的博客)