多态案例练习
public class Test {
public static void main(String[] args) {
computer c = new computer("神舟");
c.start();
USB k = new keyboard("dd");
c.installUSB(k);
c.unlUSB(k);
USB m = new Mouse("ddd");
c.installUSB(m);
c.unlUSB(m);
}
}
========================================================================================================
public class computer {
private String name;
public computer(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void start(){
System.out.println(name+"开机了----");
}
public void installUSB(USB usb){
usb.conect();
if(usb instanceof keyboard){
keyboard k = (keyboard) usb;
k.keyDown();
}else if(usb instanceof Mouse){
Mouse m = (Mouse) usb;
m.dbClick();
}
}
public void unlUSB(USB usb){
usb.unconect();
if(usb instanceof keyboard){
keyboard k = (keyboard) usb;
k.keyDown();
}else if(usb instanceof Mouse){
Mouse m = (Mouse) usb;
m.dbClick();
}
}
}
=======================================================================================================
public interface USB {
void conect();
void unconect();
}
=======================================================================================================
public class keyboard implements USB{
private String name;
public keyboard(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void conect() {
System.out.println(name+"成功接入了电脑");
}
@Override
public void unconect() {
System.out.println(name+"成功卸载了");
}
public void keyDown(){
System.out.println(name+"键盘已被敲击");
}
}
=======================================================================================================
public class Mouse implements USB {
private String name;
public Mouse(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void conect() {
System.out.println(name+"鼠标已安装");
}
@Override
public void unconect() {
System.out.println(name+"鼠标已被卸载");
}
public void dbClick(){
System.out.println(name+"鼠标已被点击");
}
}