欢迎进入四年IT梦回首的脱发空间
作者:互联网
java 多态 实战分析
java多态的理解
核心理解:不同的对象实现(implements)同一个接口来完成不同的行为。文字举例:笔记本电脑都有USB接口,鼠标和键盘都可以通过USB接口与电脑连接,那么这里鼠标点击和键盘输入就是多态的体现。
编程思路
1.首先完成USB接口的编写。—>对应框架中的interface
2.键盘和鼠标通过implements USB接口完成不同的行为(方法)。—>对应框架中的serviceImp
3.电脑来控制完成键盘和鼠标的行为。—>对应框架中的controller
4.打印日志。—>log
上代码
1.编写USB接口类代码片
.
/**
* USB接口类
* @author yqq
*/
public interface Usb {
//插入usb
void open();
//拔出usb
void close();
}
/**
* 鼠标类 implements USB 来完成鼠标的行为
* @author yqq
*/
public class Mouse implements Usb {
public void open() {
System.out.println("鼠标插入");
}
public void close() {
System.out.println("鼠标拔出");
}
public void getClick(){
System.out.println("鼠标点击");
}
}
/**
* 键盘类 implements USB 完成键盘的行为
* @author yqq
*/
public class Keyboard implements Usb{
public void open() {
System.out.println("键盘打开");
}
public void close() {
System.out.println("键盘关闭");
}
public void getClick(){
System.out.println("键盘输入");
}
}
/**
* 电脑类 控制鼠标和键盘完成不同的行为
*/
public class Computer {
public void open(){
System.out.println("笔记本开机");
}
public void close(){
System.out.println("笔记本关机");
}
//定义笔记本接入USB接口 usb作为形参
public void getUsb(Usb usb){
usb.open();
if (usb instanceof Mouse){
Mouse mouse = (Mouse) usb;
mouse.getClick();
}else if (usb instanceof Keyboard){
Keyboard keyboard = (Keyboard) usb;
keyboard.getClick();
}
}
}
/**
* oop多态测试类
* @author yqq
*/
public class Test {
public static void main(String[] args) {
Computer computer = new Computer();
computer.open();
Mouse mouse = new Mouse();
computer.getUsb(mouse);
mouse.close();
Keyboard keyboard = new Keyboard();
computer.getUsb(keyboard);
keyboard.close();
computer.close();
}
}
2.执行main方法,打印日志。
笔记本开机
鼠标插入
鼠标点击
鼠标拔出
键盘打开
键盘输入
键盘关闭
笔记本关机
Process finished with exit code 0
标签:脱发,鼠标,欢迎,回首,public,println,USB,void,usb 来源: https://blog.csdn.net/weixin_42025953/article/details/114195410