Swift 工厂模式

protocol PrintName{
    func PrintName()
}

class iPhone: PrintName {
    func PrintName() {
        print("it`s iPone")
    }
}

class iPad: PrintName {
    func PrintName() {
        print("it`s iPad") //所有子类的共同特性,要执行的方法
    }
}

enum DeviceType{
    case iPhone, iPad;
}

class MyDevice {
    static func printDeviceType(device: DeviceType) -> PrintName {
        switch device {
        case .iPhone:
            return iPhone()
        default:
            return iPad()
        }
    }
}

let myDevice = MyDevice.printDeviceType(device: .iPhone)
myDevice.PrintName() ///it`s iPone
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。