导航:首页 > 编程语言 > 接口编程技术

接口编程技术

发布时间:2022-05-17 11:59:54

A. 什么叫作编程接口

简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机虽然功能十分强大。可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。

程序也就是指令的集合,它告诉计算机如何执行特殊的任务。

写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。因此,编程实际上也就是“人给计算机出规则”这么一个过程。
随计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。

计算机所能识别的语言只有机器语言,即由构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。

汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者也不需要具备太多的专业知识。

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。

从二十世纪60年代以后,计算机得到了突飞猛进的发展。似乎历史上没有任何一门科学的发展速度超过了计算机的发展,无论硬件、软件、还是网络都以惊人的速度向前发展。软件的发展速度和硬件一样,二十世纪九十年代中国的软件业还不是很成熟,而现在大大小小 的软件企业四处耸立,共享软件网上随处可见。不断发展的技术需要不断变化的程序员,例如,如今Visual Basic可以快速构建Windows下的应用程序,程序设计方面的技术不断发展着,不断引进新的概念、新的方法,如从结构化的C开始,当面向对象的思想被提出后,出现了C++,微软在C++的基础上为使用户构建win32应用程序更加方便,推出了Visual C++。这也就需要程序员也要不断的更新自己的技术。

目前常用的基本程序语言的种类比较繁多,比较简单的有:Pascal、c语言、qBasic、 Fortran、Visual Basic等等。但前几种都是在DOS下进行编程的工具,Visual Basic是在 Windows下进行应用程序设计的编程工具,现在一般的计算机用户几乎都不再使用DOS了,因此我们通常会选择Visual Basic作为初学者的编程工具。Visual Basic是Windows应用程序设计中最容易上手的编程工具,学习步骤也比较容易被初学者接受。对于刚开始学习编程的初学者来说,还是选择Visual Basic,学习编程语言不能想象着一步登天,一步一个脚印的学习才是最佳方法。

B. 为什么要基于接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。
在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就
不那么重要了;
而各个对象之间的协作关系则成为系统设计的关键。
小到不同类之间的通信,大到各模块之间的交互,
在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。
面向接口编程我想就是指按照这种思想来编程吧!
实际上,在日常工作中,
你已经按照接口编程了,只不过如果你没有这方面的意识,
那么
你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很
好的设计)等等。
1.关于接口的理解。
接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。
我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。
接口的本身反映了系统设计人员对系统的抽象理解。
接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract
class);
第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
一个体有可能有多个抽象面。
抽象体与抽象面是有区别的。
2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:
环境是系统要素所处的空间与外部影响
因素的总和。任何接口都是在一定的环境中产生的。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,
所有的接口将失去原有的意义。
3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。
面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法
面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现
接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题

C. 怎样理解编程时常说的“接口”这个名词

硬件中的“接口”概念--------------------------
硬件接口即I/O设备适配器,具体指CPU和主存、外围设备之间通过总线进行连接的逻辑部件。

接口部件在它动态连接的两个部件之间起着“转换器”的作用,以便实现彼此之间的信息传送。

为了使所有的外围设备能够兼容,并能在一起正确地工作,CPU规定了不同的信息传送控制方法。 一个标准接口可能连接一个设备,也可能连接多个设备。

典型的接口通常具有如下功能:

1.控制
接口靠程序的指令信息来控制外围设备的动作,如启动、关闭设备等。

2.缓冲
接口在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补偿各种设备在速度上的差异。

3.状态
接口监视外围设备的工作状态并保存状态信息。状态信息包括数据“准备就绪”、“忙”、“错误”等等,供CPU询问外围设备时进行分析之用。

4.转换
接口可以完成任何要求的数据转换,例如并--串转换或串--并转换,因此数据能在外围设备和CPU之间正确地进行传送。

5.整理
接口可以完成一些特别的功能,例如在需要时可以修改字计数器或当前内存地址寄存器。

6.程序中断
每当外围设备向CPU请求某种动作时,接口即发生一个中断请求信号到CPU。

事实上,一个适配器必有两个接口:

一是和系统总线的接口,CPU和适配器的数据交换一定的是并行方式;

二是和外设的接口,适配器和外设的数据交换可能是并行方式,也可能是串行方式。根据外围设备供求串行数据或并行数据的方式不同,适配器分为串行数据接口和并行数据接口两大类。

编程中的“接口”概念--------------------------
编程中所谓的接口,实际上也是一个类,只是在接口中声明了一组常量和方法,但事实上没有实现任何方法。这有点类似抽象类,接口需要其他类来提供实现自己所定义方法的过程,而不是自己提供。
这里的用接口实现多继承实际上就是可以用类来实现多个接口中的方法。

D. 面向接口编程怎么理解,不要粘贴复制的,要自己的理解说出来

看你是从编程思想还是编程技术看。编程思想面向接口就是至下而上,先规划好要做的事,然后定义完成事情必须的接口,之后实现此接口。编程技术就是楼上说的了。还有就是一些框架支持注入类的,配置期或者运行的时候再动态注入实现接口的类,达到不换内核实现功能更新。

E. 编程:接口具体的作用是什么什么时候需要定义接口

不知道你有没有做过多层结构的程序?举个简单的例子,假设你做的系统有客户端和中间层,而你的客户端在调用中间层的业务处理方法的时候不是通过接口实现的而是直接通过调用类方法实现的,那么恭喜你,以后你有得累了。

不妨做个假设,假如你的中间层业务处理方法的代码或者方法名要做修改,那么你的客户端程序就必须全部更新。而如果是通过接口实现来实现的话,无论你中间层的代码怎么修改,只要接口不变,客户端程序就不必修改。
---------------------------------------------------------------

接口类似于类,但它的成员都没有执行方式,它只是方法、属性、事件和索引符的组合而已,甚至不能实例化一个接口,接口只包含成员的签名,接口也只能包含这四种成员,它没有构造函数,也没有字段,接口不允许进行运算符重载。
那么为什么要使用接口呢?主要原因是它们是一种有效的契约,类有一些成员,不必考虑把成员组合在一起的问题,类只包含一个拥有各种方法、字段和属性等的列表,但为了能以某种方式使用类,必须知道类能执行哪些功能,具体操作是声明执行一个或多个接口的类,类执行接口的方式是从这个接口派生,再提供在这个接口中定义的所有成员的执行方式。

F. 什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。 Booch先生那天谈到Interaction Designer,它就是指做这类设计的人,只不过层次更高一些。我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一。 1.关于接口的理解。 接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。 我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。 接口的本身反映了系统设计人员对系统的抽象理解。 接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class); 第二类是对一个体某一方面的抽象,即形成一个抽象面(interface); 一个体有可能有多个抽象面。 抽象体与抽象面是有区别的。 2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和。任何接口都是在一定的环境中产生的。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义。 3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。 面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法 面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现 接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题 我认为:UML里面所说的interface是协议的另一种说法。并不是指com的interface,CORBA的interface,

G. 如何理解“针对接口编程,而不是针对实现编程”

通过接口来调用一个类及其方法,而不是直接建立类实体来调用类。
比如将来你要把这个被调用的类换成一个别的实现类时,你就不用去把调用过它的类一个个改掉了,因为它们调的是接口,接口没变,在配置里把接口的实现类换成新的类,就全部都替换掉了
这就是解耦,提高可维护性

H. 学驱动编程要学组成原理和接口技术

看你要学什么驱动编程了。
原理不难,如果仅仅是为了在windows下驱动编程则根本不需要对接口技术有很深很深的了解.如果你是为了写操作系统,则接口技术是必须掌握的.
各种接口的原理和编程技术以及各种硬件的bios你都需要有很深的了解.

I. 微机原理与接口技术编程

假设所给数据是无符号十六进制,单字节长度,且已经存储到内存中。。。。
下面是程序代码:
; multi-segment executable file template.
data segment
abc db 027H,081H,035H,043H,05H; 定义5个数据
def db 2 p (0); 存储在该数据段中
pkey db "press any key...$"
ends
stack segment
dw 128 p(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
;依次取出,刷新最大值和最小值
MOV SI,OFFSET abc;
MOV DI,OFFSET def;
MOV CX,5

MOV AL,[SI]
DEC CX;
INC SI;
MOV AH,[SI]
INC SI;
DEC CX;
CMP AH,AL;
JAE M;大于等跳转
MOV BL,AH
MOV BH,AL
JMP N;
M: MOV BL,AL;
MOV BH,AH;

N: MOV AL,[SI]
INC SI;
DEC CX;
CMP AL,BH;
JB A;
MOV BH,AL;

A: CMP AL,BL
JAE B;
MOV BL,AL;
B: JCXZ C;
JMP N;
C: MOV [DI],BH
INC DI;
MOV [DI],BL

lea dx, pkey
mov ah, 9
int 21h ; output string at ds:dx

; wait for any key....
mov ah, 1
int 21h

mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.

J. java接口编程

//Muitiplication接口
public interface Muitiplication{
double mult(double a, double b);
}

//MuitiplicationImpl实现类
public class MuitiplicationImpl implements Muitiplication{
public double mult(double a, double b){
return a * b;
}
}

//MuitiplicationImpls实现类
public class MuitiplicationImpls implements Muitiplication{
public double mult(double a, double b){
return a + b;
}
}

public static void main(args[]){
MuitiplicationImpl m = new MuitiplicationImpl();
System.out.println(m.mult(1.001,1.001));
MuitiplicationImpls ms = new MuitiplicationImpls();
System.out.println(ms.mult(1.001,1.001));
}

阅读全文

与接口编程技术相关的资料

热点内容
java聊天窗口 浏览:976
单片机控制阵列led灯 浏览:577
白鹿用的什么APP修图 浏览:499
阿里云轻量应用服务器ssh无法连接 浏览:794
员工福利系统源码 浏览:982
数据加密如何设置 浏览:570
php取余运算 浏览:153
php如何压缩图片大小 浏览:137
编程三阶教程 浏览:983
pdf颜色查看 浏览:469
怎么用指令停用命令方块java 浏览:406
鼠标命令行 浏览:567
如何朗读pdf 浏览:746
压缩机启动后继电器发烫 浏览:405
小学编程项目学习 浏览:557
net编译运行原理 浏览:786
加密电脑的文件拷出来打不开 浏览:366
可达性算法根 浏览:208
ibm的服务器怎么安装系统 浏览:492
pdftomobi在线 浏览:797