手机工厂编程主要涉及使用工厂模式来创建不同类型的手机对象。以下是一个简化的示例,展示了如何使用工厂模式来创建华为手机和Vivo手机的对象。
工厂模式示例
定义接口
```java
interface Phone {
void createPhone();
}
```
实现具体手机类
```java
class Huawei implements Phone {
@Override
public void createPhone() {
System.out.println("制造华为手机");
}
}
class Vivo implements Phone {
@Override
public void createPhone() {
System.out.println("制造Vivo手机");
}
}
```
创建工厂类
```java
class PhoneFactory {
public static final int HUAWEI = 0;
public static final int VIVO = 1;
public Phone getPhone(int phoneType) {
switch (phoneType) {
case HUAWEI:
return new Huawei();
case VIVO:
return new Vivo();
default:
return null;
}
}
}
```
使用工厂类创建手机对象
```java
class Program {
public static void main(String[] args) {
PhoneFactory factory = new PhoneFactory();
// 创建华为手机对象
Phone huaweiPhone = factory.getPhone(PhoneFactory.HUAWEI);
huaweiPhone.createPhone();
// 创建Vivo手机对象
Phone vivoPhone = factory.getPhone(PhoneFactory.VIVO);
vivoPhone.createPhone();
}
}
```
解释
接口定义:
`Phone`接口定义了创建手机的方法`createPhone()`。
具体实现类:
`Huawei`和`Vivo`类实现了`Phone`接口,并提供了具体的`createPhone()`方法实现。
工厂类:
`PhoneFactory`类根据传入的参数决定返回哪种手机对象的实例。
客户端代码:
在`main`方法中,通过`PhoneFactory`创建不同类型手机的对象,并调用它们的`createPhone()`方法。
建议
代码重用:工厂模式使得对象的创建逻辑集中在一个地方,便于维护和扩展。
解耦:客户端代码不需要关心具体的对象创建过程,只需要通过工厂类来获取所需的对象。
扩展性:如果需要添加新的手机类型,只需在工厂类中添加相应的逻辑,无需修改客户端代码。
通过这种方式,可以实现灵活且可扩展的手机工厂编程模式。