更新時間:2022-07-27 11:58:19 來源:動力節點 瀏覽1769次
工廠模式或工廠方法模式表示只需定義一個接口或Java抽象類來創建對象,但讓子類決定要實例化哪個類。換句話說,子類負責創建類的實例。工廠方法模式也稱為虛擬構造函數,動力節點小編給大家舉例說明。
第 1 步:創建一個 Plan 抽象類。
導入 java.io.*;
抽象類 計劃{
受保護的雙倍 利率;
抽象的void getRate();
公共無效 計算賬單(整數 單位){
System.out.println(單位*速率);
}
} //計劃類結束。
第 2 步:創建擴展 Plan 抽象類的具體類。
類 國內 計劃擴展 計劃{
//@覆蓋
公共無效 getRate(){
率= 3.50 ;
}
} //DomainPlan 類結束。
類 CommercialPlan 擴展 計劃{
//@覆蓋
公共無效 getRate(){
率= 7.50 ;
}
/商業計劃 類結束。
類 機構 計劃擴展 計劃{
//@覆蓋
公共無效 getRate(){
率= 5.50 ;
}
/機構計劃 課程結束。
第 3 步:創建一個 GetPlanFactory 以根據給定信息生成具體類的對象。
類 GetPlanFactory{
//使用getPlan方法獲取Plan類型的對象
公共 計劃 getPlan(字符串計劃類型){
if (planType == null ){
返回空值;
}
如果(planType.equalsIgnoreCase(“DOMESTICPLAN” )){
返回新的 國內計劃();
}
否則如果(planType.equalsIgnoreCase(“COMMERCIALPLAN” )){
返回新的 商業計劃();
}
否則如果(planType.equalsIgnoreCase(“INSTITUTIONALPLAN” )){
返回新的 機構計劃();
}
返回空值;
}
} //GetPlanFactory 類結束。
步驟4:使用GetPlanFactory 生成Bill,通過傳遞計劃類型DOMESTICPLAN 或COMMERCIALPLAN 或INSTITUTIONALPLAN 等信息來獲取具體類的對象。
導入 java.io.*;
類 生成賬單{
公共靜態void main(String args[])拋出 IOException{
GetPlanFactory planFactory = new GetPlanFactory();
System.out.print( "輸入要生成賬單的計劃名稱:" );
BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
字符串計劃名稱=br.readLine();
System.out.print( "輸入賬單的單位數將被計算:" );
整數 單位=整數.parseInt(br.readLine());
計劃 p = planFactory.getPlan(planName);
//調用DomesticPaln的getRate()方法和calculateBill()方法。
System.out.print( "" +units+ "個單位的" +planName+ "的賬單金額為:" );
p.getRate();
p.calculateBill(單位);
}
} //GenerateBill 類結束。
輸出
以上就是關于“Java工廠方法模式示例”介紹,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Java工廠模式,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習