1个接口
/**
* 定义所有汽车类的公共接口
*/
public interface Car {
/**
* 声明所有汽车类都必须具有的功能
*/
String getName();
}
n个实现类
/**
* 定义汽车类接口的一个实现类 - 奥迪类
*/
public class Audi implements Car {
/**
* 奥迪类必须实现接口声明的功能
*/
public String getName() {
return "Audi";
}
}
/**
* 定义汽车类接口的一个实现类 - 奔驰类
*/
public class Benz implements Car {
/**
* 奔驰类必须实现接口声明的功能
*/
public String getName() {
return "Benz";
}
}
/**
* 定义汽车类接口的一个实现类 - 宝马类
*/
public class Bmw implements Car {
/**
* 宝马类必须实现接口声明的功能
*/
public String getName() {
return "Bmw";
}
}
1个工厂类
/**
* 定义一个汽车工厂类
*/
public class CarFactory {
/**
* 在工厂类中定义一个 静态方法
* 接受一些参数,生产对应的汽车
*/
public static Car getCar(String name) {
if ("Audi".equalsIgnoreCase(name)) {
return new Audi();
}
if ("Benz".equalsIgnoreCase(name)) {
return new Benz();
}
if ("Bmw".equalsIgnoreCase(name)) {
return new Bmw();
}
return null;
}
}
测试类
public class Test1 {
public static void main(String[] args) {
// 用不同的参数调用汽车工厂的静态方法
// 生产三个不同的汽车对象
Car audi = CarFactory.getCar("Audi");
Car benz = CarFactory.getCar("Benz");
Car bmw = CarFactory.getCar("Bmw");
// 查看三个汽车对象的信息
System.out.println(audi.getName());
System.out.println(benz.getName());
System.out.println(bmw.getName());
}
}
网友评论