多态的主板示例
需求:电脑运行实例
电脑运行基于主板
------------------------------------------------------------------------------------------
![](https://i-blog.csdnimg.cn/blog_migrate/dc37e9ec8ca7f045f669fda53949c83b.png)
------------------------------------------------------------------------------------------
interface PCI{ //提供了功能扩展性,降低了耦合性,提供了规则
public void open();
public void close();
}
class MainBoard{
public void run(){
System.out.println("mainboard run");
}
public void usePCI(PCI p){ // PCI p = new NetCard()//接口型引用指向自己的子类对象。提供了程序扩展性。多态
if(p!=null){ //防止异常
p.open();
p.close();
}
}
}
class NetCard implements PCI{
public void open(){
System.out.println("netcard open");
}
public void close(){
System.out.println("netcard close");
}
}
class DuoTaiDemo5{
public static void main(String[] args){
MainBoard mbBoard = new MainBoard();
mbBoard.run();
mbBoard.usePCI(null); //空指针异常
mbBoard.usePCI(new NwtCard()); //插入一网卡
}
}