Java面向对象之USB接口实例
一、需求:
		  1.在电脑上设置一个USB接口。
		  2.电脑运行时,将鼠标连接到接口上,鼠标可以使用自己的功能。
		  3.电脑运行时,将键盘连接到接口上,键盘可以使用自己的功能。
(使用接口的作用:减低鼠标、键盘等外围设备和笔记本电脑的耦合性。还可以增加电脑的扩展性。)
二、实例代码:
//进行设计,定义USB接口规则
interface USB
{
/**
运行设备
*/
public void open();
} //描述电脑
class computer
{
/**
电脑运行
*/
public void run()
{
System.out.println("computer ......");
} /**
使用符合规则的外围设备
*/
public void useUSB(USB usb) //定义一个接口类型的引用。
{
if(usb != null);
{
usb.open();
}
}
} class Mouse
{
public void run()
{
System.out.println("Mouse ......");
}
} class Keyboard
{
public void run()
{
System.out.println("Keyboard ......");
}
} /**
连接了符合USB接口的鼠标。
*/
class MouseUSB extends Mouse implements USB
{
public void open()
{
System.out.println("Mouse USB open ......");
}
} /**
连接了符合USB接口的键盘。
*/
class KeyboardUSB extends Keyboard implements USB
{
public void open()
{
System.out.println("Keyboard USB open ......");
}
} /**
连接了符合USB接口的东西。
*/
class ThingUSB implements USB
{
public void open()
{
System.out.println("open ......");
}
} class USBTest
{
public static void main(String[] arge)
{
/**
电脑c开始运行
*/
computer c = new computer();
c.run(); /**
将鼠标m连接到接口useUSB上,鼠标可以使用自己的功能
*/
MouseUSB m = new MouseUSB();
c.useUSB(m);
m.run(); /**
将键盘k连接到接口useUSB上,键盘可以使用自己的功能
*/
KeyboardUSB k = new KeyboardUSB();
c.useUSB(k);
k.run(); /**
连接接口useUSB的东西t,可以使用
*/
USB t = new ThingUSB();//多态性。能连接接口就可以使用。
c.useUSB(t);
}
}
三、代码运行:
  
Java面向对象之USB接口实例的更多相关文章
- Java面向对象作业-用接口方式测试向下转型
		Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: package com.java1234.chap03.sec13; public class Tes ... 
- Java面向对象之类、接口、多态
		Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ... 
- Java面向对象之抽象方法&接口
		在开始写抽象类之前,有一个问题我觉得想清楚会对理解抽象类很有帮助:那就是为什么要设计抽象类? 难道用类还不够么,为什么要设计出抽象类这样一个东西.我们可以换个角度来理解,就是有些类本来就是不应该被实例 ... 
- JAVA面向对象 - 抽象类、接口
		抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法.当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实 ... 
- java面向对象程序设计(下)-接口的定义
		抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更加彻底,则可以提炼出一种更加特殊的"抽象类"-接口(interface),Java9对接口进行了改进,允许在接口中定义默认方 ... 
- Java面向对象之封装 入门实例(一)
		一.基础概念 (一)面向对象的三大特征: 1.封装 2.继承 3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ... 
- java面向对象--抽象类和接口
		如果某个父类只知道其子类应该包含哪些方法,但无法知道如何实现这些方法,同时要使用多态的特性,怎么办? 抽象方法:关键字abstract允许在一个类中创建一个或多个没有方法体的方法--只提供方法签名,但 ... 
- Java面向对象—抽象类和接口
		本文引用海子的一篇文章:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法 ... 
- Java面向对象---抽象类与接口
		final关键字 1.final关键字在java中被称为完结器,表示最终的意思: 2.final能声明类.方法.属性: 3.使用final声明的类不能被继承,使用final声明的方法不能被重写,使用f ... 
随机推荐
- 自定义inputformat和outputformat
			1. 自定义inputFormat 1.1 需求 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案 1.2 分析 小文件的优 ... 
- Nodejs开发Office插件
			如果使用Nodejs开发Office插件,需要借助Yeoman包去生成Office插件 yeoman地址是:http://yeoman.io/generators/,输入office 源码地址是:ht ... 
- java Web中页面跳转方式之请求转发
			1.在一个请求中跨越多个Servlet 2.多个Servlet在一个请求中,他们共享request对象.就是在Servlet01中setAttribute()保存数据在Servlet02中由getAt ... 
- 【原创】10. MYSQL++ 之 DbDriver
			1. 综述 DbDriver只是对于MYSQL C API的一个非常简单的封装,作者原句是This class does as little as possible to adapt between ... 
- myeclipse,eclipse设置编码格式的4种情况,以及遇见部分问题的解决办法。
			(1).设置myeclipse工作空间的编码格式,作用范围最大 window-->preference-->general-->workspace-->text file en ... 
- 10个强大的Javascript表单验证插件推荐
			创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScri ... 
- PostgreSQL的索引选型
			PostgreSQL里面给全文检索或者模糊查询加索引提速的时候,一般会有两个选项,一个是GIST类型,一个是GIN类型,官网给出的参考如下: There are substantial perform ... 
- Web服务器父与子 Apache和Tomcat区别(转)
			From http://developer.51cto.com/art/201007/210894.htm 熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中最得曹操宠爱的是曹丕.曹植.曹彰三个,曹丕 ... 
- grid search
			sklearn.metrics.make_scorer(score_func, greater_is_better=True, needs_proba=False, needs_threshold=F ... 
- 现代C++学习笔记之一资料篇(C++ 11)
			最近看网上一些开源的源代码,发现尽多不认识的符号,好吧.开始学习新的C++. C++经典书籍 C++ Primer,第五版开始有了对C++ 11的讲解 C++ Primer Plus,第六版有对C++ ... 
