Java抽象類(lèi)的構(gòu)造模板模式用法示例
本文實(shí)例講述了Java抽象類(lèi)的構(gòu)造模板模式用法。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
模板模式的一些簡(jiǎn)單規(guī)則。
抽象父類(lèi)可以只定義需要使用的某些方法,而不能實(shí)現(xiàn)的部分抽象成抽象方法,留給子類(lèi)去實(shí)現(xiàn)。
父類(lèi)中可能包含需要調(diào)用其他系列方法的方法,這些被調(diào)方法既可以由父類(lèi)實(shí)現(xiàn),也可以由其子類(lèi)實(shí)現(xiàn)。父類(lèi)里提供的方法只是定義了一個(gè)通用算法,其實(shí)現(xiàn)也許并不完全由自身實(shí)現(xiàn),而必須依賴(lài)器子類(lèi)的輔助。
二 實(shí)戰(zhàn)
1 父類(lèi)
public abstract class SpeedMeter { // 轉(zhuǎn)速 private double turnRate; public SpeedMeter() { } // 把返回車(chē)輪的半徑的方法定義為抽象方法 public abstract double getRadius(); public void setTurnRate(double turnRate) { this.turnRate = turnRate; } // 計(jì)算速度的通用算法 public double getSpeed() { // 速度等于 車(chē)輪半徑 * 2 * PI * 轉(zhuǎn)速 return Math.PI * 2 * getRadius() * turnRate; } }
2 子類(lèi)
public class CarSpeedMeter extends SpeedMeter { public double getRadius() { return 0.28; } public static void main(String[] args) { CarSpeedMeter csm = new CarSpeedMeter(); csm.setTurnRate(15); System.out.println(csm.getSpeed()); } }
三 運(yùn)行
26.389378290154266
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java項(xiàng)目實(shí)戰(zhàn)之在線考試系統(tǒng)的實(shí)現(xiàn)(系統(tǒng)介紹)
這篇文章主要介紹了Java項(xiàng)目實(shí)戰(zhàn)之在線考試系統(tǒng)的實(shí)現(xiàn)(系統(tǒng)介紹),本文通過(guò)實(shí)例代碼,截圖的形式給大家展示系統(tǒng)技術(shù)架構(gòu),需要的朋友可以參考下2020-02-02java操作(DOM、SAX、JDOM、DOM4J)xml方式的四種比較與詳解
java中四種操作(DOM、SAX、JDOM、DOM4J)xml方式的比較與詳解2008-10-10SpringBoot+Vue前后端分離實(shí)現(xiàn)審核功能的示例
在實(shí)際開(kāi)發(fā)中,審核功能是一個(gè)非常常用的功能,本文就來(lái)介紹一下使用SpringBoot+Vue前后端分離實(shí)現(xiàn)審核功能的示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Java中的相除(/)和取余(%)的實(shí)現(xiàn)方法
這篇文章主要介紹了Java中的相除(/)和取余(%)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07