案例介绍:
定义USB接口(具备开启功能、关闭功能),笔记本要使用USB设备,即笔记本在生产时需要预留可以插入USB设备的USB接口,即就是笔记本具备使用USB设备的功能,但具体是什么USB设备,笔记本并不关心,只要符合USB规格的设备都可以。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范,不然鼠标和键盘的生产出来无法使用。
进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘
1、USB接口,包含开启功能、关闭功能
2、笔记本类,包含运行功能、关机功能、使用USB设备功能
3、鼠标类,要符合USB接口
4、键盘类,要符合USB接口
实现思路:
1、有多少具体事物
笔记本、USB接口、外接设备(鼠标、键盘)
2、每个事物中有什么功能
笔记本:开机、关机、使用USB设备
USB接口:开功能、关功能,必须满足USB接口规范、开和关
3、事物之间的关系
笔记本:使用USB设备,调用USB设备功能
USB接口:外接设备,都是他的实现类
定义一个接口:
package dayEleven;
/*
* 自定义的USB接口类
* 规范,就是抽象方法
*/
public interface USB {
//UBS的关闭功能
public abstract void open();
//UBS的开启功能
public abstract void close();
}
类实现接口
package dayEleven;/*
* 自定义鼠标类
* 满足USB接口规范
* 实现USB接口,重写抽象方法
*/
public class Mouse implements USB {
//重写USB的关闭功能
public void open(){
System.out.println("鼠标开启");
}
//重写USB的开启功能
public void close(){
System.out.println("鼠标关闭");
}
}
类实现接口
package dayEleven;
public class KeyBoard implements USB {
//重写USB的关闭功能
public void open(){
System.out.println("键盘开启");
}
//重写USB的开启功能
public void close(){
System.out.println("键盘关闭");
}
}
package dayEleven;
/*
* 定义笔记本类
* 功能:开机、关机、使用USB设备
*/
public class noteBook {
public void opennoteBook(){
System.out.println("笔记本开机");
}
public void closenoteBook(){
System.out.println("笔记本关机");
}
//使用USB设备方法
//方法的参数,就是USB设备
//USB usb = new Mouse()
public void useUSB(USB usb){
usb.open();
usb.close();
}
}
定义一个测试类
package dayEleven;
public class Test {
public static void main(String[] args) {
//创建笔记本对象,调用笔记本功能
noteBook com=new noteBook();
com.opennoteBook();
//调用笔记本使用USB设备的方法
//参数,是USB接口类型,接口不能建立对象
//调用方法,传递USB接口的实现类的对象
//Mouse m =new Mouse();
com.useUSB(new Mouse());
//使用USB设备,使用键盘
com.useUSB(new KeyBoard());
com.closenoteBook();
}
}