package com.liujunhua.ith02;
/**
* 功能:模擬一個主板,並添加網卡,聲卡的功能
*/
public class Demo02 {
public static void main(String[] args){
MainBoard board = new MainBoard();
board.run();
board.PCI(new NetCard());
board.PCI(new SoundCard());
}
}
class MainBoard{
public void run(){
System.out.println("MainBoard run");
}
/*
* 這裏PCI可以指向實現PCI接口的子類創建的對象
* 並調用子類中實現或複寫PCI中的已經定義過的方法
* 這是多態的一種體現
*/
public void PCI(PCI pci){
pci.open();
pci.close();
}
}
/**
* 接口用於擴展功能
* 這裏相當於爲主板提供了usb接口
*/
interface PCI{
public void open();
public void close();
}
/**
* 實現接口,並實現接口中定義的方法
*/
class NetCard implements PCI{
@Override
public void open() {
// TODO Auto-generated method stub
System.out.println("NetCard open");
}
@Override
public void close() {
// TODO Auto-generated method stub
System.out.println("NetCard close");
}
}
/**
* 實現接口,並實現接口中定義的方法
*/
class SoundCard implements PCI{
@Override
public void open() {
// TODO Auto-generated method stub
System.out.println("SoundCard open");
}
@Override
public void close() {
// TODO Auto-generated method stub
System.out.println("SoundCard close");
}
}
java接口和多態的測試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.