如何在Java中使用抽象類(lèi)的構(gòu)造模板模式?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為平川企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,平川網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Java的特點(diǎn)有哪些 1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以?xún)?yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
一 點(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
關(guān)于如何在Java中使用抽象類(lèi)的構(gòu)造模板模式問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。