Swift(类之间的关系2)

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

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

推荐阅读更多精彩内容