JAVA面向对象四大金刚之多态

* 100个 乐器类对象 实际来源于 100个子类
* 发一个相同的指令 演奏
* 结果: 100个声音
* 1个乐手 演奏多种乐器

 

一父类 乐器类:和子类 具体的乐器

 

public class YQ {
    private String name;
    
    /**
     * 演奏的方法
     * 
     */
    
    public void show() {
        System.out.println("乐器发出的声音");
    }
}

/**
 * 钢琴类
 * 
 */

class GQ extends YQ{
    @Override
    public void show() {
        System.out.println("命运交响曲...");
    }
}

/**
 * 萧
 */
class X extends YQ{
    @Override
    public void show() {
        System.out.println("笑傲江湖...广陵散...");
    }
}

 

来个乐手演奏家类 

 

public class YQ {
    private String name;
    
    /**
     * 演奏的方法
     * 
     */
    
    public void show() {
        System.out.println("乐器发出的声音");
    }
}

/**
 * 钢琴类
 * 
 */

class GQ extends YQ{
    @Override
    public void show() {
        System.out.println("命运交响曲...");
    }
}

/**
 * 萧
 */
class X extends YQ{
    @Override
    public void show() {
        System.out.println("笑傲江湖...广陵散...");
    }
}

 

最后进行演奏测试:

 

//测是乐器、乐手
public class TestYQYS {

    public static void main(String[] args) {
        //创建一个乐手对象
        YS ys = new YS();
        
        YQ gq1 = new GQ();
        YQ x1 = new X();
        
        
        GQ gq = new GQ();
        X x = new X();
        
        ys.usedYQ(gq);
        ys.usedYQ(x);
        
        ys.usedYQ(gq1);
        ys.usedYQ(x1);
    }

}

 

 

演奏效果:  

命运交响曲...
笑傲江湖...广陵散...
命运交响曲...
笑傲江湖...广陵散...

 

posted @ 2018-05-05 20:18  马鞍山  阅读(367)  评论(0编辑  收藏  举报