通达信交易接口,接口基础知识
为什么需要通达信交易接口,接口
需求:要求实现防盗门的功能,门有“开”和“关”的功能,锁有“上锁”和“开锁”功能。分析:首先防盗门是一个门,它有一把锁。按照之前学过的面向对象的思想,可以将门和锁分别定义成抽象类。不能让防盗门在继承们的同时又继承锁。原因有两点:第防盗门不是锁,不符合继承中isa的关系,第Java只支持单继承,如何解决这个问题呢?这时就要用到通达信交易接口,接口,可以将锁定义为通达信交易接口,接口,让防盗门继承门,实现锁的通达信交易接口,接口。那么什么是借口呢?它的特点又是什么呢?下面让我们来学习一下。
什么是通达信交易接口,接口
在生活中,通达信交易接口,接口是一套规范,只要满足这个规范的设备,就可以将它们组装到一起,从而实现该设备的功能。而在软件中,通达信交易接口,接口同样是一种规范和标准,它们可以约束类的行为,是一些方法特征的集合,但是没有方法的实现,从这个角度来讲,通达信交易接口,接口可以看作一种特殊的“抽象类”,但是采用与抽象类完全不同的语法来表示,两者的设计理念也是不同的,抽象类利于代码的复用,通达信交易接口,接口利于代码的扩展和维护。
通达信交易接口,接口的定义语法和类实现通达信交易接口,接口的语法[修饰符]interface通达信交易接口,接口名extends父通达信交易接口,接口父通达信交易接口,接口…{//常量定义//方法定义}class类名extends父类名implements通达信交易接口,接口通达信交易接口,接口…{//类成员}
通达信交易接口,接口说明通达信交易接口,接口的命名规范和类相同。通达信交易接口,接口中可以定义常量,不能定义变量。通达信交易接口,接口中所有的方法都是抽象方法。和抽象类一样,通达信交易接口,接口也不能实例化,通达信交易接口,接口中不能有构造方法。通达信交易接口,接口之间可以通过extends实现继承关系,一个通达信交易接口,接口可以继承多个通达信交易接口,接口,但通达信交易接口,接口不能继承类。通达信交易接口,接口的实现类必须实现通达信交易接口,接口的全部方法,否则必须定义为抽象类。
下面就使用Java通达信交易接口,接口来模拟生活中的USB通达信交易接口,接口
//先定义USB通达信交易接口,接口,通过service()方法提供服务
/*
* USB通达信交易接口,接口
*/
public interface UsbInterFace {
/*
* USB通达信交易接口,接口提供服务
*/
void service();
}
//定义U盘类,实现USB通达信交易接口,接口中的service()方法,进行数据传输
/*
* U盘
*/
public class UDisk implements UsbInterFace{
public void service(){
System.out.println('连接USB口,开始传输数据');
}
}
//定义USB风扇类,实现USB通达信交易接口,接口中的service()方法,获得电流使风扇转动
/*
* USB风扇
*/
public class UsbFan implements UsbInterFace{
public void service(){
System.out.println('连接USB口,获得电流,风扇开始转动');
}
}
//编写测试类,实现U盘传输数据,使USB风扇转动
/*
* 测试类
*/
public class Test {
public static void main(String[] args) {
//1.U盘
UsbInterFace uDisk=new UDisk();
uDisk.service();
//2.USB风扇
UsbInterFace usbFan=new UsbFan();
usbFan.service();
}
}
运行结果:通过该示例我们学习了如何定义通达信交易接口,接口和实现通达信交易接口,接口,这些技能在后面的学习中将会被反复用到。
通达信交易接口,接口表示一种能力
使用通达信交易接口,接口实现防盗门功能
通过上面的代码,我们已经了解Java通达信交易接口,接口的语法和规则,现在就使用借口来实现防盗门功能
//定义Door类,具有开和关的功能
/*
* 门
*/
public abstract class Door {
public abstract void open();//开
public abstract void close();//关
}
//定义Lock通达信交易接口,接口,具备上锁和开锁的功能
/*
* 锁,通达信交易接口,接口
*/
public interface Lock {
void lockUp();//上锁
void openLock();//开锁
}
//定义TheftproofDoor类,继承Door类,实现Lock通达信交易接口,接口
*
* 防盗门类
*/
public class TheftproofDoor extends Door implements Lock,DoorBell{
public void lockUp() {
System.out.println('插进钥匙,向左旋转钥匙三圈,锁上了,拔出钥匙');
}
public void openLock(){
System.out.println('插进钥匙,向右旋转钥匙三圈,锁打开了,拔出钥匙');
}
public void open(){
System.out.println('用力推,门打开了');
}
public void close(){
System.out.println('轻轻拉门,门关上了');
}
}
//编写测试类,实现防盗门的关门,开门,上锁,开锁的功能
/*
* 测试类
*/
public class DoorTest {
public static void main(String[] args) {
TheftproofDoor tfd=new TheftproofDoor();
tfd.close();//关门
tfd.lockUp();//上锁
tfd.takePictures();//来访客人拍照存储
tfd.openLock();//开锁
tfd.open();//开门
}
}
运行结果:通过上面的案例我们了解了通达信交易接口,接口表示一种能力,一个类实现了某个通达信交易接口,接口,就表示这个类具备了某种能力,那我们就为防盗门增加一个拍照存档的功能,当主人不在家有客人来访时便会自动拍照存储。
/*
* 门铃通达信交易接口,接口
*/
public interface DoorBell {
void takePictures();//铃响拍照存档功能
}
//为防盗门增加门铃功能
/*
* 防盗门类
*/
public class TheftproofDoor extends Door implements Lock,DoorBell{
//省略其他实现方法
public void takePictures(){
System.out.println('铃......咔嚓......照片已存储');
}
}
//修改测试类,代码如下:
/*
* 测试类
*/
public class DoorTest {
public static void main(String[] args) {
TheftproofDoor tfd=new TheftproofDoor();
tfd.close();//关门
tfd.lockUp();//上锁
tfd.takePictures();//来访客人拍照存储
tfd.openLock();//开锁
tfd.open();//开门
}
}
运行结果:
通达信交易接口,接口表示一种约定
使用通达信交易接口,接口实现打印机打印功能
需求:要求实现打印机打印功能。打印机的墨盒可能是彩色的,也可能是黑白的,所有的纸张可以有很多类型。代码如下:
//定义墨盒通达信交易接口,接口InkBox,约定墨盒有颜色
/*
* 墨盒通达信交易接口,接口
*/
public interface InkBox {
/*
* 得到墨盒颜色
*/
public String getColor();
}
//定义纸张通达信交易接口,接口Paper,约定纸张有大小
/*
* 纸张通达信交易接口,接口
*/
public interface Paper {
/*
* 得到纸张大小
*/
public String getSize();
}
//定义打印机类,引用墨盒通达信交易接口,接口,纸张通达信交易接口,接口实现打印功能
/*
* 打印机类
*/
public class Printer {
InkBox inkBox;//墨盒
Paper paper;//纸张
/*
* 设置打印机墨盒
*/
public void setInkBox(InkBox inkBox){
this.inkBox=inkBox;
}
/*
* 设置打印机纸张
*/
public void setPaper(Paper paper){
this.paper=paper;
}
/*
* 使用墨盒在纸张上打印
*/
public void print(){
System.out.println('使用'+inkBox.getColor()+'墨盒在'+paper.getSize()+'纸张上打印');
}
}
//墨盒厂商按照InkBox通达信交易接口,接口实现ColorInkbox类和GrayInkBox类
/*
* 彩色墨盒
*/
public class ColorInkBox implements InkBox{
public String getColor(){
return '彩色';
}
}
/*
* 墨色墨盒
*/
public class GrayInkBox implements InkBox{
public String getColor(){
return '黑色';
}
}
/*
* 墨色墨盒
*/
public class GrayInkBox implements InkBox{
public String getColor(){
return '黑色';
}
}
/*
* 墨色墨盒
*/
public class GrayInkBox implements InkBox{
public String getColor(){
return '黑色';
}
}
//纸张厂商按照Paper通达信交易接口,接口实现A4Paper类和B5Paper类
public class A4Paper implements Paper{
public String getSize(){
return 'A4';
}
}
public class B5Paper implements Paper{
public String getSize(){
return 'B5';
}
}
//“组装”打印机,让打印机通过不同的墨盒和纸张实现打印
public class TestInkBox {
public static void main(String[] args) {
//1.定义打印机
InkBox inkBox=null;
Paper paper=null;
Printer printer=new Printer();
//2.使用黑白墨盒在A4纸上打印
inkBox=new GrayInkBox();
paper=new A4Paper();
printer.setInkBox(inkBox);
printer.setPaper(paper);
printer.print();
3.使用彩色墨盒在B5纸上打印
inkBox=new ColorInkBox();
paper=new B5Paper();
printer.setInkBox(inkBox);
printer.setPaper(paper);
printer.print();
//4.使用彩色墨盒在A4纸上打印
paper=new A4Paper();
printer.setPaper(paper);
printer.print();
}
}
运行结果:
在C#中使用通达信交易接口,接口
使用C#实现打印功能
语法[修饰符]interface通达信交易接口,接口名:父通达信交易接口,接口父通达信交易接口,接口…{属性定义方法定义}class类名:父类名,通达信交易接口,接口通达信交易接口,接口…{}
c#通达信交易接口,接口说明通达信交易接口,接口之间可以通过“:”来实现继承关系,一个通达信交易接口,接口可以继承多个通达信交易接口,接口,但通达信交易接口,接口不能继承类。类只能继承一个父类,但可以实现多个通达信交易接口,接口,使用“:”来继承类并实现通达信交易接口,接口通达信交易接口,接口定义零个或多个成员,成员主要是方法,属性和索引器。借口中不能包含常量,变量和构造方法,也不能包含任何静态成员。通达信交易接口,接口成员访问权限是public,定义通达信交易接口,接口时显式指定任何修饰符都是非法的。按照惯例,c#中通达信交易接口,接口的名称以大写字母“I”开头。
下面用c#实现打印机案例,通过对比其中的一同,更好的掌握通达信交易接口,接口在两种语法中的应用。
文章为作者独立观点,不代表观点