欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java抽象類的構(gòu)造模板模式用法示例

 更新時間:2019年09月24日 09:59:51   作者:cakincqm  
這篇文章主要介紹了Java抽象類的構(gòu)造模板模式用法,結(jié)合實(shí)例形式分析了java使用抽象類構(gòu)造模板模式相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java抽象類的構(gòu)造模板模式用法。分享給大家供大家參考,具體如下:

一 點(diǎn)睛

模板模式的一些簡單規(guī)則。

抽象父類可以只定義需要使用的某些方法,而不能實(shí)現(xiàn)的部分抽象成抽象方法,留給子類去實(shí)現(xiàn)。

父類中可能包含需要調(diào)用其他系列方法的方法,這些被調(diào)方法既可以由父類實(shí)現(xiàn),也可以由其子類實(shí)現(xiàn)。父類里提供的方法只是定義了一個通用算法,其實(shí)現(xiàn)也許并不完全由自身實(shí)現(xiàn),而必須依賴器子類的輔助。

二 實(shí)戰(zhàn)

1 父類

public abstract class SpeedMeter
{
  // 轉(zhuǎn)速
  private double turnRate;
  public SpeedMeter()
  {
  }
  // 把返回車輪的半徑的方法定義為抽象方法
  public abstract double getRadius();
  public void setTurnRate(double turnRate)
  {
   this.turnRate = turnRate;
  }
  // 計(jì)算速度的通用算法
  public double getSpeed()
  {
   // 速度等于 車輪半徑 * 2 * PI * 轉(zhuǎn)速
   return Math.PI * 2 * getRadius() * turnRate;
  }
}

2 子類

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)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論