编写程序实现乐手弹奏乐器(多态)

本文通过一个简单的程序示例介绍了多态的概念。乐手类能够根据不同类型的乐器子类(如二胡、钢琴和小提琴)调用相应的方法来模拟演奏不同乐器的声音。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 1.编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。
 * 可以弹奏的乐器包括二胡、钢琴和琵琶。
 *     实现思路及关键代码:
 *        1)定义乐器类Instrument,包括方法makeSound()
 *        2)定义乐器类的子类:二胡ErHu、钢琴Piano和小提琴Violin
 *        3)定义乐手类Musician,可以弹奏各种乐器play(Instrument i)
 *        4)定义测试类,给乐手不同的乐器让他弹奏
 */
public class Test03 {
    public static void main(String[] args) {
        //创建乐手对象
        Musician musician = new Musician();

        /*
        //乐手拉二胡
        musician.play(new ErHu());      //二胡发出美妙的音乐......
        //乐手演奏钢琴
        musician.play(new Piano());     //钢琴发出悠扬的乐声......
        //乐手小提琴表演
        musician.play(new Violin());    //小提琴发出动人的旋律......
         */

        //创建乐器对象(父类型引用指向子类型对象)
        Instrument erHu = new ErHu();
        Instrument piano = new Piano();
        Instrument violin = new Violin();
        //乐手弹奏各种乐器
        musician.play(erHu);    //二胡发出美妙的音乐......
        musician.play(piano);   //钢琴发出悠扬的乐声......
        musician.play(violin);  //小提琴发出动人的旋律......
    }
}
//乐手类
class Musician{
    //弹奏乐器的方法
    public void play(Instrument instrument){
        instrument.makeSound();
    }
}
//乐器类 父类
class Instrument{
    //乐器发声的方法
    public void makeSound(){

    }
}
//二胡类 子类
class ErHu extends Instrument{
    //重写乐器发声的方法
    public void makeSound(){
        System.out.println("二胡发出美妙的音乐......");
    }
}
//钢琴类
class Piano extends Instrument{
    //重写乐器发声的方法
    public void makeSound(){
        System.out.println("钢琴发出悠扬的乐声......");
    }
}
//小提琴类
class Violin extends Instrument{
    //重写乐器发声的方法
    public void makeSound(){
        System.out.println("小提琴发出动人的旋律......");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值