笔记本电脑案例
定义USB接口,具备最基本的开启功能和关闭功能
鼠标和键盘要想能在电脑上使用
那么鼠标和键盘必须遵守USB规范,实现USB接口规范
进行描述笔记本类
实现笔记本使用USB鼠标.USB键盘
1.USB接口,包含打开设备功能,关闭设备功能
2.笔记本类,包含开机功能,关机功能,使用USB功能
3.鼠标类,实现USB接口,并具备点击的功能
4.键盘类,实现USB接口,并具备敲击的方法
usb interface类
package com.homework2;
// 定义一个USB接口类
public interface USB {
// 接口类中封装的是抽象方法
// 接口中public和abstract可以省略
// 打开设备功能
void OpenEquipment();
// 关闭设备功能
void CloseEquipment();
}
鼠标类
package com.homework2;
// 定义一个鼠标类,实现USB接口
public class Mouse implements USB{
@Override
public void OpenEquipment() {
System.out.println("USB鼠标,已连接!");
}
@Override
public void CloseEquipment() {
System.out.println("USB鼠标,已断开!");
}
// 并具备点击功能
public void Click(){
System.out.println("点击鼠标!");
}
}
键盘类
package com.homework2;
public class KeyBoard implements USB{
@Override
public void OpenEquipment() {
System.out.println("USB键盘已经连接!");
}
@Override
public void CloseEquipment() {
System.out.println("USB键盘已断开");
}
public void Knock(){
System.out.println("敲击键盘!");
}
}
电脑类
package com.homework2;
// 定义一个电脑类
public class Laptop {
// 包含开机功能,关机功能,使用USB设备功能
public void powerOn(){
System.out.println("power on");
}
public void powerOff(){
System.out.println("power off");
}
/*
方法定义三要素
1.返回值 void
2.方法名 useUSB
3.参数列表 USB
*/
public void useUSB(USB usb){
/*
1.判断USB是否为空,如果为空,程序结束,同时提示USB设备不存在
2.如果USB设备存在
2.1 做类型判断
先连接USB接口
如果是鼠标,执行鼠标的点击功能
如果是键盘,执行键盘的敲击功能
当设备操作完之后,需要关闭设备
2.2
*/
if(usb == null){
System.out.println("该USB设备不存在");
return;
}else{
// 代表存在USB设备
// 多态
usb.OpenEquipment();
// 进行类型判断
if(usb instanceof Mouse){
//mouse.OpenEquipment();
((Mouse) usb).Click();
Mouse mouse = (Mouse)usb;
mouse.Click();
}else if(usb instanceof KeyBoard){
//
KeyBoard keyBoard = (KeyBoard)usb;
//keyBoard.OpenEquipment();
keyBoard.Knock();
}
}
usb.CloseEquipment();
}
}
测试类
package com.homework2;
// 定义一个笔记本测试类
public class TestLaptop {
public static void main(String[] args) {
// 构建三个设备对象
Laptop laptop = new Laptop();
Mouse mouse = new Mouse();
KeyBoard keyBoard = new KeyBoard();
// 使用USB设备
// 电脑开机
laptop.powerOn();
// 使用鼠标设备
laptop.useUSB(mouse);
laptop.useUSB(keyBoard);
// 电脑关机
laptop.powerOff();
}
}