Swift(类之间的关系2)

2017-07-19  本文已影响0人  HotRay

使用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)")

上一篇 下一篇

猜你喜欢

热点阅读