java接口和多態的測試

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");
	}
	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章