中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

抽象類和模板模式

發布時間:2020-06-20 11:47:28 來源:網絡 閱讀:437 作者:fuhcr75 欄目:移動開發

一模板模式的簡單規則

抽象父類可以只定義需要使用的某些方法,把不能實現的部分抽象成抽象方法,留給其子類去實現。

父類中可能包含需要調用其它系列方法的方法,這些被調用的方法既可以由父類實現,也可以由其子類實現。父類里提供的方法只定義了一個通用算法,其實現也許并不完全由自身實現,而必須依賴于其子類的輔助。

 

二模板模式應用

1代碼示例  下載

Java代碼  抽象類和模板模式

  1. public abstract class SpeedMeter  

  2. {  

  3.     // 轉速  

  4.     private double turnRate;  

  5.     public SpeedMeter()  

  6.     {  

  7.     }  

  8.     // 把返回車輪半徑的方法定義成抽象方法  

  9.     public abstract double getRadius();  

  10.     public void setTurnRate(double turnRate)  

  11.     {  

  12.         this.turnRate = turnRate;  

  13.     }  

  14.     // 定義計算速度的通用算法  

  15.     public double getSpeed()  

  16.     {  

  17.         // 速度等于 車輪半徑 * 2 * PI * 轉速  

  18.         return java.lang.Math.PI * 2 * getRadius() * turnRate;  

  19.     }  

  20. }  

 

Java代碼  抽象類和模板模式

  1. public class CarSpeedMeter extends SpeedMeter  

  2. {  

  3.     public double getRadius()  

  4.     {  

  5.         return 0.28;  

  6.     }  

  7.     public static void main(String[] args)  

  8.     {  

  9.         CarSpeedMeter csm = new CarSpeedMeter();  

  10.         csm.setTurnRate(15);  

  11.         System.out.println(csm.getSpeed());  

  12.     }  

  13. }  

2運行結果

26.389378290154266

 

3結果分析

在這個范例的抽象父類中,父類的普通方法依賴于一個抽象方法,而抽象方法則推遲到子類中提供實現。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白河县| 天镇县| 蕉岭县| 江山市| 绥德县| 类乌齐县| 儋州市| 海南省| 寿宁县| 农安县| 子洲县| 遂平县| 平阳县| 麻栗坡县| 大冶市| 通渭县| 宿松县| 阳江市| 黔南| 夏邑县| 邯郸县| 鹿邑县| 县级市| 新巴尔虎右旗| 清涧县| 肇州县| 东平县| 都匀市| 淳化县| 渭源县| 雷波县| 若尔盖县| 关岭| 贡觉县| 蓝田县| 利川市| 额济纳旗| 台安县| 荔波县| 钟祥市| 玉环县|