❶ 什麼是應用編程介面API 它是應用程序和誰的介面
系統調用介面,即應用進程的控制權和操作系統的控制權進行轉換的一個介面。由於應用程序在使用系統調用之前要編寫一些程序,特別是需要設置系統調用中的許多參數,因此這種系統調用介面又稱為應用編程介面API。
從程序設計的角度看,可以把API看成是應用程序和操作系統之間的介面。
❷ 軟體編程中介面的作用
介面是編程變得更加靈活,如果說只有繼承的話,那麼所有的東西必須同屬一個基類。而介面則不屬於任何一個類,只要符合這個規范(介面),就可以。
著名的介面USB,USB鍵盤,USB滑鼠,USB風扇,甚至到USB電動剃須刀。他們不屬於同一物種,但是他們都符合了USB的規范,所以就可以使用USB介面~~
❸ 編程的介面有哪些
(1)C語言:
【SYNOPSIS】
#include <math.h>
double sqrt(double X);
float sqrtf(float X);
【DESCRIPTION】
DESCRIPTION
sqrt computes the positive square root of the argument. ...
【RETURNS】
On success, the square root is returned. If X is real and positive...
(2)perl語言:
$ 【perldoc】 -f sqrt
sqrt EXPR
sqrt #Return the square root of EXPR. If EXPR is omitted, returns
#square root of $_. Only works on non-negative operands, unless
#you've loaded the standard Math::Complex mole.
(3)python語言:
$ 【pydoc】 math.sqrt
Help on built-in function sqrt in math:
math.sqrt = sqrt(...)
sqrt(x)
Return the square root of x.
(4)ruby語言:
$ 【ri】 Math::sqrt
Math::sqrt
Math.sqrt(numeric) => float
Returns the non-negative square root of _numeric_.
注釋:帶有【】的代碼是這個語言的編程介面
(5)java語言:
http://download.oracle.com/javase/6/docs/api/
❹ 編程:介面具體的作用是什麼什麼時候需要定義介面
不知道你有沒有做過多層結構的程序?舉個簡單的例子,假設你做的系統有客戶端和中間層,而你的客戶端在調用中間層的業務處理方法的時候不是通過介面實現的而是直接通過調用類方法實現的,那麼恭喜你,以後你有得累了。
不妨做個假設,假如你的中間層業務處理方法的代碼或者方法名要做修改,那麼你的客戶端程序就必須全部更新。而如果是通過介面實現來實現的話,無論你中間層的代碼怎麼修改,只要介面不變,客戶端程序就不必修改。
---------------------------------------------------------------
介面類似於類,但它的成員都沒有執行方式,它只是方法、屬性、事件和索引符的組合而已,甚至不能實例化一個介面,介面只包含成員的簽名,介面也只能包含這四種成員,它沒有構造函數,也沒有欄位,介面不允許進行運算符重載。
那麼為什麼要使用介面呢?主要原因是它們是一種有效的契約,類有一些成員,不必考慮把成員組合在一起的問題,類只包含一個擁有各種方法、欄位和屬性等的列表,但為了能以某種方式使用類,必須知道類能執行哪些功能,具體操作是聲明執行一個或多個介面的類,類執行介面的方式是從這個介面派生,再提供在這個介面中定義的所有成員的執行方式。
❺ 什麼叫作編程介面
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的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,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
❻ 程序開發中編程介面,棧的理解
編程介面就是對於某種邏輯寫的一定規范的數據格式,就是宿主程序跟 Lu通訊用的一組 C 函數。 所有的 API 函數按相關的類型以及常量都聲明在頭文件 lua.h 中。
雖然我們說的是「函數」, 但一部分簡單的 API 是以宏的形式提供的。 除非另有說明, 所有的這些宏都只使用它們的參數一次 (除了第一個參數,那一定是 Lu狀態), 因此你不需擔心這些宏的展開會引起一些副作用。
C 庫中所有的 Lua API 函數都不去檢查參數是否相容及有效。 然而,你可以在編譯 Lu 時加上打開一個宏開關 LUA_USE_APICHECK 來改變這個行為。
Lu使用一個 虛擬棧 來和 C 互傳值。 棧上的的每個元素都是一個 Lu 值 (nil,數字,字元串,等等)。
無論何時 Lua 調用 C,被調用的函數都得到一個新的棧, 這個棧獨立於 C 函數本身的棧,也獨立於之前的 Lu棧。 它裡麵包含了 Lu傳遞給 C 函數的所有參數, 而 C 函數則把要返回的結果放入這個棧以返回給調用者。
方便起見, 所有針對棧的 API 查詢操作都不嚴格遵循棧的操作規則。 而是可以用一個 索引 來指向棧上的任何元素: 正的索引指的是棧上的絕對位置(從1開始); 負的索引則指從棧頂開始的偏移量。 展開來說,如果堆棧有 n 個元素, 那麼索引 1 表示第一個元素 (也就是最先被壓棧的元素) 而索引 n 則指最後一個元素; 索引 -1 也是指最後一個元素 (即棧頂的元素), 索引 -n 是指第一個元素。
4.2 – 棧大小
當你使用 Lu API 時, 就有責任保證做恰當的調用。 特別需要注意的是, 你有責任控制不要堆棧溢出。 你可以使用 lua_checkstack 這個函數來擴大可用堆棧的尺寸。
無論何時 Lu 調用 C , 它都只保證至少有 LUA_MINSTACK 這么多的堆棧空間可以使用。 LUA_MINSTACK 一般被定義為 20 , 因此,只要你不是不斷的把數據壓棧, 通常你不用關心堆棧大小。
當你調用一個 Lua 函數卻沒有指定要接收多少個返回值時 (), Lua 可以保證棧一定有足夠的空間來接收所有的返回值, 但不保證此外留有額外的空間。 因此,在做了一次這樣的調用後,如果你需要繼續壓棧, 則需要使用 lua_checkstack。
❼ java應用程序編程介面是什麼
API 呀,你說中文我差點沒聽出來。
最簡單的你封裝一個列印 helloworld的api。
/**
*對外的API介面,使用者調用介面的print方法,無需關系具體的實現。
*可以多個其他類都實現介面,並且表現出不同的行為。而調用者並不需要知道這些,就可以正常使用。
*@authorCui
*
*/
interfaceHelloWorld{
voidprint();
}
/**
*介面的具體實現
*@authorCui
*
*/
{
publicvoidprint(){
System.out.println("HelloWorld");
}
}
/**
*調用者
*@authorCui
*
*/
classOthers{
publicstaticvoidmain(String[]args){
HelloWorldhw=newHelloWorldImpl();//聲明是一個介面引用
hw.print();
}
}
API 的意思就是。一個已經解決的問題,別人已經寫好方法。你只需要調用別人寫好的類就行了。比如你要造一輛車,輪胎已經有人幫你造好了,你直接使用輪胎,組合各種已有東西,再加上自己的東西就行了。你無需再造一個輪子。
❽ api介面和編程中的介面有什麼區別比如java中的interface關鍵字也叫介面
介面可以這樣理解:
狹義:代碼中的interface,指的是代碼層面的。
廣義:介面指的是某個功能的實現。通常指的是在業務或模塊之間提供給其它人調用,它可以是interface的實現類,也可以是普通的class。但一般都會是interface的實現類。
不管是程序內部調用還是軟體與伺服器之間的調用,通常都是廣義上的介面