使用Playground ,继承多态的使用!
import UIKit
import Foundation
class Person:NSObject{
//这个字段 很容易申请的
var name:String!
var age:Int!
//打印函数
func Text(){
print(self.name,self.age)
}
//重新父类构造方法
override init() {
print("override init")
}
//自己设置的构造方法,也是一样的创建一个对象
init(name:String,age:Int){
print("Cusnt init")
self.age = age
self.name = name
}
deinit {
print(" deinit")
self.name = nil
self.age = nil
}
}
class woman:Person{
var SexBranSiZi:Double = 0.0
override init(name Name:String,age Age:Int) {
self.SexBranSiZi = Double(Age);
super.init(name: Name, age: Age)
self.name = Name
self.age = Age
//这个是调用父类的方法返回一个实例对象。!
//init 是有返回值的!他要一个对象来的!
//如果Init Name 和age 能够返回一个实例 那就是正确的!
super.init(name: Name, age: Age)
}
}
调用,测试
//直接走Init 然后设置属性
var pi = Person()
pi.name = "wudi"
pi.age = 18
pi.Text()
//如果不设置是等于nil的
var per = Person()
per.Text()
//走Init 设置name age,这里没问题
var pi1 = Person.init(name: "Sumsky", age: 17)
pi1.Text()
var Wm = woman.init(name: "TL", age: 18)
print("woman = (Wm.name)")