工厂模式 Swift简单实现

关于工厂模式的说明,请移步至https://blog.csdn.net/kicinio/article/details/109672005
代码如下:

import Foundation

protocol Flight {
    func fire() -> Void
}

class J10: Flight{
    func fire() {
        print("J10 Fire.")
    }
}

class J11: Flight{
    func fire(){
        print("J11 Fire.")
    }
}

class J20: Flight{
    func fire(){
        print("J20 Fire.")
    }
}

class F16: Flight{
    func fire(){
        print("F16 Fire.")
    }
}

class F22: Flight{
    func fire(){
        print("F22 Fire.")
    }
}

class F35: Flight{
    func fire(){
        print("F35 Fire.")
    }
}

class FlightFactory{
    func getFlight(flightType: String) -> Flight{
        switch flightType {
        case "J10":
            return J10();
        case "J11":
            return J11();
        case "J20":
            return J20();
        case "F16":
            return F16();
        case "F22":
            return F22();
        case "F35":
            return F35();
        default:
            return nil;
            
        }
    }
    
}

var flightFactory: FlightFactory = FlightFactory();

var j10: Flight = flightFactory.getFlight(flightType: "J10");
j10.fire();

var j11: Flight = flightFactory.getFlight(flightType: "J11");
j11.fire();

var j20: Flight = flightFactory.getFlight(flightType: "J20");
j20.fire();

var f16: Flight = flightFactory.getFlight(flightType: "F16");
f16.fire();

var f22: Flight = flightFactory.getFlight(flightType: "F22");
f22.fire();

var f35: Flight = flightFactory.getFlight(flightType: "F35");
f35.fire();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值