Java實例——簡單的汽車銷售4S店


技術關鍵:
多態:面向對象程序設計的基本特征之一。
Java中的多態主要是通過重寫父類(或接口)中的方法來實現的。
 
實現過程:
1.編寫Car類,該類是一個抽象類,定義了一個抽象方法getInfo( )。
package test;
public abstract class Car {
    public abstract String getInfo();    //用來描述汽車的信息
}

2.編寫BMW類,該類繼承自Car並實現getInfo( )方法。

1 package test;
2 public class BMW extends Car {
3     @Override
4     public String getInfo() {
5         // TODO Auto-generated method stub
6         return "BMW";
7     }
8 }
3.編寫Benz類,該類繼承自Car並實現getInfo( )方法。
1 package test;
2 public class Benz extends Car{
3     @Override
4     public String getInfo() {
5         return "Benz";
6     }
7 }

4.編寫CarFactory類,該類定義了一個靜態方法getCar( ),它可以根據用戶指定的車型來創建對象。

 1 package test;
 2 public class CarFactory {
 3     public static Car getCar(String name) {
 4         if (name.equalsIgnoreCase("BMW")) {          //如果需要BMW,則創建BMW對象
 5             return new BMW();
 6         } else if (name.equalsIgnoreCase("Benz")) {    //如果需要Benz,則創建Benz對象
 7             return new Benz();
 8         } else {
 9             return null;                            //暫時不支持其他車型
10         }
11     }
12 }

5.編寫Customer類用來進行測試。在main()方法中,根據用戶需要提取不同的汽車。

 1 package test;
 2 public class Customer {
 3     public static void main(String[] args) {
 4         // TODO Auto-generated method stub
 5         System.out.println("顧客需要購買BMW");
 6         Car bmw = CarFactory.getCar("BMW");
 7         System.out.println("提取汽車:" + bmw.getInfo());
 8         System.out.println("顧客需要購買Benz");
 9         Car benz = CarFactory.getCar("Benz");
10         System.out.println("提取汽車:" + benz.getInfo());
11     }
12 }
輸出如下圖所示:

 

小結:

     本實例實現了設計模式中的簡單工廠模式,該模式將創建對象的過程放在了一個靜態方法中來實現。實際編程中,如果需要創建大量對象,使用該模式比較理想。當4S店支持新的車型時,只需要修改CarFactory類進行增加即可,對其他類不需要修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM