Swift-原型模式

原型模式属于对象的创建模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.


Swift-原型模式_第1张图片
原型模式.png

原型模式创建新对象的过程中是拷贝,具体实现由深拷贝和浅拷贝之分.

Product定义:

`class Product {

func clone() -> AnyObject? {
    return nil
}

}`

Book定义:

`class Book:Product {

var name:String?

var price:Float = 0.0

override func clone() -> AnyObject? {
    
    let book:Book = Book()
    book.name = self.name
    book.price = self.price
    return book
}

}`

测试代码:

` let book:Book = Book()
book.name = "从入门到放弃"
book.price = 25.0

    print("FlyElephant---原始对象:\(book.name!)---\(book.price)")
    let temp:Book = book.clone() as! Book
    print("FlyElephant---拷贝对象:\(temp.name!)---\(temp.price)")`
FlyElephant.png

你可能感兴趣的:(Swift-原型模式)