package java151220;
/*
需求:电脑运行实例;
电脑运行基于主板
*/
//扩展接口
interface PCI{
public abstract void open();
public abstract void close();
}
class MainBoard{
public void run() {
System.out.println("MainBoard run !");
}
public void usePCI(PCI pci) {//PCI pci=new NetCard();//接口型引用指向自己的子类对象
if (pci != null) {
pci.open();
pci.close();
}
// pci.open();
// pci.close();
}
}
class NetCard implements PCI{
@Override
public void open() {
System.out.println("netcard open !");
}
@Override
public void close() {
System.out.println("netcard close !");
}
}
class SoundCard implements PCI{
@Override
public void open() {
}
@Override
public void close() {
}
}
public class DuoTaiDemo4 {
public static void main(String[] args) {
MainBoard mainBoard=new MainBoard();
mainBoard.run();
mainBoard.usePCI(null);
mainBoard.usePCI(new NetCard());
mainBoard.usePCI(new SoundCard());
}
}
/*
public class DuoTaiDemo4 {
public static void main(String[] args) {
MainBoard mainBoard=new MainBoard();
mainBoard.run();
mainBoard.useNetCard(new NetCard());
}
}
class NetCard{
public void open() {
System.out.println("netcard open !");
}
public void close() {
System.out.println("netcard close !");
}
}
class MainBoard{
public void run() {
System.out.println("MainBoard run !");
}
public void useNetCard(NetCard netCard) {
netCard.open();
netCard.close();
}
}
*/
/*
需求:电脑运行实例;
电脑运行基于主板
*/
//扩展接口
interface PCI{
public abstract void open();
public abstract void close();
}
class MainBoard{
public void run() {
System.out.println("MainBoard run !");
}
public void usePCI(PCI pci) {//PCI pci=new NetCard();//接口型引用指向自己的子类对象
if (pci != null) {
pci.open();
pci.close();
}
// pci.open();
// pci.close();
}
}
class NetCard implements PCI{
@Override
public void open() {
System.out.println("netcard open !");
}
@Override
public void close() {
System.out.println("netcard close !");
}
}
class SoundCard implements PCI{
@Override
public void open() {
}
@Override
public void close() {
}
}
public class DuoTaiDemo4 {
public static void main(String[] args) {
MainBoard mainBoard=new MainBoard();
mainBoard.run();
mainBoard.usePCI(null);
mainBoard.usePCI(new NetCard());
mainBoard.usePCI(new SoundCard());
}
}
/*
public class DuoTaiDemo4 {
public static void main(String[] args) {
MainBoard mainBoard=new MainBoard();
mainBoard.run();
mainBoard.useNetCard(new NetCard());
}
}
class NetCard{
public void open() {
System.out.println("netcard open !");
}
public void close() {
System.out.println("netcard close !");
}
}
class MainBoard{
public void run() {
System.out.println("MainBoard run !");
}
public void useNetCard(NetCard netCard) {
netCard.open();
netCard.close();
}
}
*/