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接口和多态的测试
最新推荐文章于 2022-07-07 10:19:14 发布