废话不多说,直接上代码。
public class Main {
public static void main(String[] args) {
System.out.println("简单工厂模式");
Phone.createPhone(1);
}
}
class Phone{
static Phone createPhone(int typeNo){
if (typeNo == 1){
return new MIPhone();
}else if (typeNo == 2){
return new ApplePhone();
}else if (typeNo == 3){
return new HONORPhone();
}
return null;
}
}
class MIPhone extends Phone{
}
class ApplePhone extends Phone{
}
class HONORPhone extends Phone{
}
public class Main2 {
public static void main(String[] args) {
System.out.println("工厂模式");
RiceFactory riceFactory = new ChineseRiceFactory();
riceFactory.makeRice();
RiceFactory riceFactory1 = new AmericaRiceFactory();
riceFactory1.makeRice();
}
}
class Rice{
}
class ChineseRice extends Rice{
}
class AmericaRice extends Rice{
}
interface RiceFactory{
Rice makeRice();
}
class ChineseRiceFactory implements RiceFactory{
@Override
public Rice makeRice() {
System.out.println("1");
return new ChineseRice();
}
}
class AmericaRiceFactory implements RiceFactory{
@Override
public Rice makeRice() {
System.out.println(2);
return new AmericaRice();
}
}
public class Main3 {
public static void main(String[] args) {
System.out.println("抽象工厂模式");
}
}
class SmallCar{
}
class CarA extends SmallCar {
}
class CarB extends SmallCar {
}
class Book{
}
class BookA extends Book {
}
class BookB extends Book {
}
abstract class Factory{
abstract SmallCar createSmallCar();
abstract Book createBook();
}
class CarAFactory extends Factory{
@Override
SmallCar createSmallCar() {
return new CarA();
}
@Override
Book createBook() {
return new BookA();
}
}
class CarBFactory extends Factory{
@Override
SmallCar createSmallCar() {
return new CarB();
}
@Override
Book createBook() {
return new BookB();
}
}
过于简单不总结。