黑马程序员------毕老师视频笔记第八天------面向对象(接口多态的应用示例)

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
/*
电脑运行示例
电脑运行基于主板
主板的扩展基于PCI接口
主板通电之后,PCI扩展接口全部通电
只要是符合PCI标准的扩展部件都可以直接插到主板上

此实例与毕老师讲解实例不完全相同,添加:主板工作,扩展功能才能工作
*/
interface PCI
{
	public abstract void open();
	public abstract void close();
}
class MainBoard
{
	private boolean mbSwitch = false;
	public void mbOpen()
	{
		mbSwitch = true;
		System.out.println("MainBoard running~~~");
	}
	public void mbClose()
	{
		mbSwitch = false;
		System.out.println("MainBoard closed!!!");
	}
	public void usePCI(PCI p)
	{
		if (mbSwitch == true)
		{
			if (p != null)
			{
				p.open();
				p.close();
			}
			else System.out.println("There isn't any PCI...");
		}
		else System.out.println("MainBoard is closed,can't open PCI!!!");
	}
}
class NetCard implements PCI
{
	public void open()
	{
		System.out.println("NetCard running~~~");
	}
	public void close()
	{
		System.out.println("NetCard closed!!!");
	}
}
class Demo
{
	public static void main (String [] args)
	{
		MainBoard myMainBoard = new MainBoard();
		NetCard myNetCard = new NetCard();
		System.out.println("****************************************");
		myMainBoard.mbOpen();
		myMainBoard.usePCI(myNetCard);
		myMainBoard.mbClose();
		System.out.println("****************************************");
		myMainBoard.usePCI(myNetCard);
		System.out.println("****************************************");
		myMainBoard.mbOpen();
		myMainBoard.mbClose();
		myMainBoard.usePCI(myNetCard);
	}
}

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值