【接口多态的综合案例】---笔记本电脑USB接口实现鼠标键盘

3 篇文章 0 订阅
2 篇文章 0 订阅
本文通过一个综合案例介绍了Java中的接口多态概念,以笔记本电脑使用USB鼠标和键盘为例。定义了USB接口,鼠标类和键盘类分别实现了该接口,笔记本类能够识别并使用符合USB规范的设备,展示了接口多态的使用和类型转换的方法。
摘要由CSDN通过智能技术生成

1.接口多态的综合案例

1.1 笔记本电脑

笔记本电脑(laptop)通常具备使用USB设备的功能。在生产时,笔记本都预留了可以插入USB设备的USB接口, 但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以。 定义USB接口,具备最基本的开启功能和关闭功能。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守 USB规范,实现USB接口,否则鼠标和键盘的生产出来也无法使用。

1.2 案例分析

进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘

  • USB接口,包含开启功能、关闭功能
  • 笔记本类,包含运行功能、关机功能、使用USB设备功能
  • 鼠标类,要实现USB接口,并具备点击的方法
  • 键盘类,要实现USB接口,具备敲击的方法

看图理解分析:
在这里插入图片描述

1.3案例实现

定义USB接口:

interface USB { 
	void open();// 开启功能 
	void close();// 关闭功能 
}

定义鼠标类:

class Mouse implements USB { 
	public void open() { 
		System.out.println("鼠标开启,红灯闪一闪"); 
	}
	public void close() { 
		System.out.println("鼠标关闭,红灯熄灭"); 
	}
	public void click(){ 
		System.out.println("鼠标单击"); 
	} 
}

定义键盘类:

class KeyBoard implements USB { 
	public void open() { 
		System.out.println("键盘开启,绿灯闪一闪"); 
	}
	public void close() { 
		System.out.println("键盘关闭,绿灯熄灭"); 
	}
	public void type(){ 
		System.out.println("键盘打字"); 
	} 
}

定义笔记本类:

class Laptop { 
	// 笔记本开启运行功能 
	public void run() { 
		System.out.println("笔记本运行"); 
	}
	// 笔记本使用usb设备,这时当笔记本对象调用这个功能时,
	//必须给其传递一个符合USB规则的USB设备 
	public void useUSB(USB usb) { 
		// 判断是否有USB设备 
		if (usb != null) { 
			usb.open(); 
			// 类型转换,调用特有方法 
			if(usb instanceof Mouse){ 
				Mouse m = (Mouse)usb; 
				m.click(); 
			}else if (usb instanceof KeyBoard){ 
				KeyBoard kb = (KeyBoard)usb; 
				kb.type(); 
			}
			usb.close(); 
		} 
	}
	public void shutDown() { 
		System.out.println("笔记本关闭"); 
	} 
}

测试类,代码如下:

public class Test { 
	public static void main(String[] args) { 
		// 创建笔记本实体对象 
		Laptop lt = new Laptop(); 
		// 笔记本开启 
		lt.run(); 
		// 创建鼠标实体对象
		Usb u = new Mouse(); 
		// 笔记本使用鼠标 
		lt.useUSB(u); 
		// 创建键盘实体对象 
		KeyBoard kb = new KeyBoard(); 
		// 笔记本使用键盘 
		lt.useUSB(kb); 
		// 笔记本关闭 
		lt.shutDown(); 
	}
}

浏览了我的笔记之后。一定要看一下综合案例,不仅要会理论,还要会用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值