Java 中的多态练习

 
package Exercises;
/*
关于多态的练习
阶段一:描述电脑——类:电脑,行为:运行
阶段二:接上鼠标---类:鼠标,行为:开闭
class NoteBook{
    public void Run(){
        System.out.println("NoteBook run!");
    }
    public void mouseRun(Mouse M)
    {
        if(M){
            M.open();
            M.close();
        }
    }
}
class Mouse{
    public void open(){}
    public void close(){}
}
程序的问题:每增加一个小功能(例如键盘)就要在主函数里增加一段代码
public void hanshu (类类型){
    1.判断是否为空
    2.对象的引用
}
1.代码的扩展性极低,耦合性太高
2.而且在的代码的实现过程中尽量不要修改主函数
*/
//*********************************************
 interface USB{
    public void open();
    public void close();
 }
 class NoteBook{
     public void Run(){
         System.out.println("NoteBook runs!!");
     }
     public void useUSB(USB usb)     //多态
     {
        if(usb!=null){
            usb.open();
            usb.close();
        }
     }
 }
 //鼠标
class Mouse implements USB{
     public void open(){
         System.out.println("mouse open!");
     }
     public void close(){
         System.out.println("mouse close!");
     }
}
//键盘
class KeyBoard implements USB{
     public void open(){
         System.out.println("KeyBoard run!");
     }
     public void close(){
         System.out.println("KeyBoard run!");
     }
}
public class DuoTaiTest{
     public static void main(String[] args){
         NoteBook NB=new NoteBook();
         NB.Run();
         Mouse M=new Mouse();
         NB.useUSB(null);
         NB.useUSB(M);
         NB.useUSB(new KeyBoard());
     }
}
总结:
多态:对象的多种表现——用父类(接口)的引用指向子类(实现)————————解决的问题——使用多种事物共同功能

在这段代码中:

使用鼠标或者是键盘都是的电脑的一个功能——定义为电脑类中的方法

鼠标和键盘都是事物,都有共同的功能——开关(抽去共性为一个接口),让鼠标和键盘之类的类去重写。

代码实现:创建电脑的对象调用功能在功能中传入鼠标和键盘的对象

在电脑类中的方法中传入的是接口引用类型,实参是实现接口的类的对象————多态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值