package com.itheiReview;
/**
* @program: javaDemo01->TestReview
* @description: 复习案例
* @author: 安生
* @create: 2021-01-19 22:51
**/
import java.security.Key;
/**
需求:
弄一台电脑 (实现USB功能)
USB(鼠标,键盘) 实现插入和拔出 以及特有功能
*/
public class TestReview {
public static void main(String[] args) {
//买一台电脑
Computer c = new Computer();
//创建鼠标 小米鼠标
USB xiaomi = new Mouse("小米鼠标");
c.installUSB(xiaomi);
System.out.println("--------------");
USB shaunfei = new Mouse("双飞键盘");
c.installUSB(shaunfei);
}
}
//电脑类 提供USB的入口 具体实现出来
class Computer{
public void installUSB(USB usb){
//插入
usb.connect();
// 特有方法
if(usb instanceof Mouse){
Mouse m = (Mouse) usb;
m.dbClick();
}else if(usb instanceof KeyBoard){
KeyBoard k = (KeyBoard) usb;
k.keyDown();
}
// 拔出
usb.unconnect();
}
}
//鼠标 提供一个鼠标的规范
class Mouse implements USB{
private String name;
public Mouse(){}
public Mouse(String name) {
this.name = name;
}
//鼠标 双击的特有功能
public void dbClick(){
System.out.println("来了 老铁 双击点亮小红♥");
}
@Override
public void connect() {
System.out.println(name+"插入鼠标连接成功!");
}
@Override
public void unconnect() {
System.out.println(name+"拔出鼠标连接成功!");
}
}
//键盘 提供一个键盘的规范
class KeyBoard implements USB{
private String name;
public KeyBoard(){}
public KeyBoard(String name) {
this.name = name;
}
//键盘 敲键盘的特有功能
public void keyDown(){
System.out.println("敲出了 来了 老弟");
}
@Override
public void connect() {
System.out.println(name+"插入键盘连接成功!");
}
@Override
public void unconnect() {
System.out.println(name+"拔出键盘连接成功!");
}
}
//第一步 规范接口 USB
interface USB{
// 公有功能:
//插入
void connect();
//拔出
void unconnect();
}