HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    為什么要寫接口(為什么要寫接口再用類實現(xiàn))

    發(fā)布時間:2023-03-13 04:52:27     稿源: 創(chuàng)意嶺    閱讀: 57        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于為什么要寫接口的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    ChatGPT國內免費在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    你只需要給出你的關鍵詞,它就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端,官網(wǎng):https://ai.de1919.com

    本文目錄:

    為什么要寫接口(為什么要寫接口再用類實現(xiàn))

    一、java項目中為什么要實現(xiàn)dao接口和service接口?

    最主要是為了分層開發(fā),代碼解耦。使用接口,可以方便修改和維護。至于Dao和Service層,這是三層架構里的,為了把數(shù)據(jù)庫DB的操作和業(yè)務操作分離開來,就是解耦,可以給前期開發(fā)和后期維護帶來便利,實現(xiàn)多人快速開發(fā)。

    二、c#中為什么要用接口

    你要把接口也理解成一種類,比如有個基類叫baseClass,一個繼承他的類叫subClass,那么subClass也算是baseClass類型的,可以有這樣的寫法baseClass bc=new subClass()

    接口也是一樣,如果一個類MyClass實現(xiàn)了借口一個接口interfaceClass,你事實上可以把MyClass叫做interfaceClass的子類,可以有這樣的寫法interfaceClass ic=new MyClass()

    這就是所說的多態(tài)的一部分基礎??梢耘e個實在點的例子,比如你想寫一個方法叫EnumAll,參數(shù)是一個類的實例,作用是例舉出該實例中的每個子元素并打印出元素的ToString(如窗體的子元素是窗體中的控件,數(shù)組的子元素就不用說了吧),你就遇到兩個問題

    首先EnumAll參數(shù)的類型是什么。參數(shù)應該可以是一個Form類型,因為窗口中有很多控件,使用EnumAll和一個Form的實例做參數(shù)可以打印出包含在該參數(shù)窗體中的每個控件的名字;但是一個數(shù)組Object[]類型應該也可以使用EnumAll方法,EnumAll可以列舉Object[]中的每個元素并打印。你是要把方法寫成void EnumAll(Form e)還是寫成void EnumAll(Object[] e)?

    然后就是EnumAll怎樣實現(xiàn)才能得到不同類型的實例的子元素?如果是void EnumAll(Form e)的形式,要想得到子元素要用

    foreach(Control c in e.Controls)

    {

    Console.WriteLine(c.ToString());

    }

    的寫法,如果數(shù)組要用

    for(int i=0;i<e.length;++i)

    {

    Console.WriteLine(e[i].ToString());

    }

    的實現(xiàn)方法。

    Form和Object[]是兩種完全不沾邊的類型,那么EnumAll到底該怎么寫?

    這時就可以使用接口,可以定義一個接口

    interface IEnumable

    {

    Object next();//返回下一個子元素的方法

    }

    然后使Form和Object[]類型都實現(xiàn)IEnumable接口(實現(xiàn)方法是不同的,如前面所說),然后這樣寫EnumAll方法:

    void EnumAll(IEnumable e)//一開始就說了,實現(xiàn)接口的類都可以算是接口的子類

    {Object o;

    while((o=e.next)!=null)

    {

    Console.WriteLine(o.ToString());

    }

    }

    于是解決了上面的問題。

    不知道有沒有說清楚,如果理解了上面舉的例子算是初步了解接口了,接口的多繼承和多態(tài)性還有很多內容。

    另外,上面的東西只是舉例子,雖然C#中確實有IEnumable接口,但其定義要復雜的多,我只是舉個簡化的自己編的例子^_^。C#的(應該說是FCL吧)很多類都實現(xiàn)了IEnumalbe接口,像集合類和數(shù)組等。

    FCL是.NET框架類庫,F(xiàn)ramework Class Library,不論在C#,J#,VB.NET或其他.NET開發(fā)語言中使用的.NET提供的類都是FCL中的類,就是說,.NET的開發(fā)其實是和語言無關的。不同語言編寫的程序由于使用同一類庫(其實等于被翻譯成了同一種中間語言,Common Intermediate Language, CIL),使得各種不同語言寫的程序集可以通用。

    三、現(xiàn)在做一個web項目,為什么biz層和dao層都先要寫成接口啊

    這個不是一定的,只是在學習的時候通過這樣的三層協(xié)議進行程序開發(fā),掌握了這種開發(fā)手段后,有利于大項目整合、團隊合作,每一層之間盡量通過接口進行訪問,這樣各層之間只要接口參數(shù)沒有進行修改,就不需要通知其它層,減少了程序維護的成本。所以如果你一個人開發(fā)項目,完全沒有必要寫成接口,通過模塊劃分,通過類進行訪問就行了。

    四、java中什么是接口?接口的作用是什么?

    java接口:

    1、Java語言中存在的結構,有特定的語法和結構。

    2、Java語言中一個類所具有的方法的特征集合,是一種邏輯上的抽象。

    java接口作用:

    1、利于代碼的規(guī)范

    這樣做的目的一方面是為了給開發(fā)人員一個清晰的指示,告訴他們哪些業(yè)務需要實現(xiàn);同時也能防止由于開發(fā)人員隨意命名而導致的命名不清晰和代碼混亂,影響開發(fā)效率。

    2、有利于對代碼進行維護

    可以一開始定義一個接口,把功能菜單放在接口里,然后定義類時實現(xiàn)這個接口,以后要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。

    3、保證代碼的安全和嚴密

    一個好的程序一定符合高內聚低耦合的特征,能夠讓系統(tǒng)的功能較好地實現(xiàn),而不涉及任何具體的實現(xiàn)細節(jié)。這樣就比較安全、嚴密一些,這一思想一般在軟件開發(fā)中較為常見。

    擴展資料:

    關于java接口的使用規(guī)范:

    1、接口中可以定義常量,不能定義變量,接口中的屬性都是全局靜態(tài)常量,接口中的常量必須在定義時指定初始值。

    2、 接口中所有的方法都是抽象方法,接口中方法都會自動用public abstract 修飾,即接口中只有全局抽象方法。

    3、 接口不能實例化,接口中不能有構造。

    4、 接口之間可以通過extends實現(xiàn)繼承關系,一個接口可以繼承多個接口,但接口不能繼承類。

    5、 接口的實現(xiàn)類必須實現(xiàn)接口的全部方法,否則必須定義為抽象類。

    參考資料來源:百度百科:java接口

    以上就是關于為什么要寫接口相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。


    推薦閱讀:

    淘寶為什么自動生成昵稱(淘寶為什么自動設置了昵稱)

    得物為什么一直招人(得物app為什么一直招人)

    東北人為什么懷念滿洲國(東北人為什么懷念滿洲國的歷史)

    直播評論短語(直播金句摘抄100句)

    文案代寫(文案代寫平臺)