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类进行增加即可,对其他类不需要修改。
posted @ 2018-05-03 01:07  TA写Java  阅读(1802)  评论(0编辑  收藏  举报