亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

先用一個案例來給大家說明一下面向接口編程。

案例:有一個電腦類(Computer),電腦除了有基本的開機關機功能外,還有連接任何外接設備的功能,比如能電腦能連接外置鍵盤(Keyboard),鼠標(Mouse),投影儀(Projecter)等很多外置設備,請用代碼來實現該需求;

實現步驟如下:

首先需要創建三個類Keyboard,Mouse,Projecter即鍵盤、鼠標、投影儀類,并且都有自己的功能

其次需要創建一個Computer類,類里面有開機(openComputer)方法,也有關機(closeComputer)方法,而且還有三個接收外置設備的方法connectKeyboard,connectMouse,connectProjecter,代碼如下:

//  鍵盤類
public class Keyboard {
   public void work(){
    System.out.println("外置鍵盤可以用來輸入數據");
   }
}

 //  鼠標類
public class Mouse{
   public void work(){
    System.out.println("鼠標方便操作人員打開一些程序");
   }
}

  // 投影儀類
public class Projecter{
   public void work(){
    System.out.println("投影儀把屏幕投影到墻上放大");
   }
}

 //  定義筆記本類
 // 功能: 開機,關機,接收外置設備 鍵盤 鼠標 投影儀 并讓其工作

public class Computer {
   //開機
   public void openComputer(){
    System.out.println("筆記本開機");
   }
   //關機
   public void closeComputer(){
    System.out.println("筆記本關機");
   }
   //連接外置鍵盤 并讓其輸入
   public void connectKeyboard(Keyboard k){
    k.work();
   }
   //連接鼠標 并讓其點擊
   public void connectMouse(Mouse m){
    m.work();
   }
   //連接投影儀 并讓其投影
   public void connectProjecter(Projecter p){
    p.work();
   }
}

現在這個需求我們就已經做完了。但是假如此時一些電腦配件的生產商又生產出了一種新設備“U盤”用來做外置存儲的,那么這時候我們除了需要再寫一個U盤類之外,還需要在Computer類中加一個連接U盤的方法(這體現在現實生活中就是把原來已經制作好的電腦解體重新改裝出一個用來連接U盤的口子),增加的代碼如下:

//  U盤類
public class UDisk{
   public void work(){
     System.out.println("U盤可以用來存儲數據");
   }
}

 // 定義筆記本類
 //  功能: 開機,關機,接收外置設備 鍵盤 鼠標 投影儀 并讓其工作
public class Computer {
   //開機
   public void openComputer(){
     System.out.println("筆記本開機");
   }
   //關機
   public void closeComputer(){
     System.out.println("筆記本關機");
   }

   //連接外置鍵盤 并讓其輸入
   public void connectKeyboard(Keyboard k){
     k.work();
   }

   //連接鼠標 并讓其點擊
   public void connectMouse(Mouse m){
     m.work();
   }

   //連接投影儀 并讓其投影
   public void connectProjecter(Projecter p){
     p.work();
   }

   //連接U盤 并讓其存儲
   public void connectUDisk(UDisk u){
     u.work();
   }
}

對于U盤新設備,我們經過改裝電腦,可以讓電腦連接使用了。但是可恨的是 就在此時,電腦配件的生產商又生產出了外置音響,我們快要瘋了,因為我們不得不又要把電腦拆了,重新改裝出一個連接外置音響的口子。這時候我們并沒有著急去改裝自己的電腦,因為萬一自己改裝完了之后 電腦配件生產商又生產出了其他的外置設備呢?難道我們就一直改裝下去嗎?那究竟有沒有一種解決辦法呢??

答案是肯定的,接口的出現很好的解決了這一問題,我們向電腦配件生產商提供了一套規范 名叫USB,告訴他們以后再生產任何的設備都要留出USB形狀的對接口,那么我們的電腦只需要留出一個USB形狀的對接口,用來連接任何具有該形狀對接口的設備即可,改進代碼如下:

//  定義筆記本類
//  功能: 開機,關機,接收任何USB設備
public class Computer {
   //開機
   public void openComputer(){
     System.out.println("筆記本開機");
   }
   //關機
   public void closeComputer(){
     System.out.println("筆記本關機");
   }
   //連接USB設備 并讓其進行相應的工作
   public void connectUSB(USB device){   //父接口的引用可以接收任何的子類對象,多態!
     device.work();     //此處運行的是子類的重寫后的work方法
   }
}

 //  自定義的USB接口
 //  規范  USB設備能運行并完成相應的功能
public interface USB {
   public abstract void work();
}

 // 鍵盤類

public class Keyboard implements USB{
   public void work(){
     System.out.println("外置鍵盤可以用來輸入數據");
   }
}

 //  鼠標類

public class Mouse implements USB{
   public void work(){
     System.out.println("鼠標方便操作人員打開一些程序");
   }
}

經過這樣的設計,我們的電腦只要留出用來連接USB設備的對接口就可以了,不管生產商們生產任何的外接設備,只要他們按照USB接口規范來,他們都能夠接入到電腦上去,這樣就極大的增強了電腦的拓展性,以及設備的可維護性。

? 經過這個案例,大家應該明白面向接口編程給我們帶來的便利了吧。面向接口編程就是增強了代碼的拓展性,而接口就是體現的一種規范,也是提現的一種拓展思想。

分享到:
標簽:接口 面向 編程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定