導航:首頁 > 編程語言 > 介面編程技術

介面編程技術

發布時間: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));
}

閱讀全文

與介面編程技術相關的資料

熱點內容
單片機左移右移後是補1還是0 瀏覽:595
湛江一號命令 瀏覽:333
導出命令行 瀏覽:274
C和php交互 瀏覽:600
蘋果手機里的通訊錄如何導入安卓手機 瀏覽:170
怎麼在京東app裡面看自己會員等級 瀏覽:43
emerson伺服器怎麼短接啟動 瀏覽:559
工控編程人員工資 瀏覽:397
速成義大利語pdf 瀏覽:250
連續加減乘除法的演算法 瀏覽:652
用mfc編程實現dda演算法 瀏覽:41
linux命令打開應用 瀏覽:146
改造後的程序員 瀏覽:270
數控編程變數 瀏覽:785
江門哪裡有plc編程系統 瀏覽:378
安卓手機如何下載外服b站 瀏覽:700
pythonetree庫 瀏覽:759
數據插值演算法 瀏覽:723
澳大利亞加密貨幣逃稅 瀏覽:484
pdf文檔如何壓縮 瀏覽:329