ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//alloc init = ()
//自定义对象 打印内存是内存地址
let p = Student()
print(p.name, p.age,p.no)
}
}
Person.swift
/*
构造函数 : 分配内存空间 设置初始值
()
在swift中 所有的构造方法 都是init
*/
import UIKit
class Person: NSObject {
var name: String
var age: Int
//表示重写 表示重写父类的构造函数
//父类已经提供函数 子类需要对父类的函数进行扩展
//方法内 可以super.
override init() {
print("Person init")
name = "刘亦菲"
age = 30
// super.init()
// name = "刘亦菲"
}
}
Student.swift
import UIKit
class Student: Person {
var no: String
override init() {
print("Student init")
no = "007"
//隐式生成 super.init 在Xcode 7 beta5 在之前的版本都需要手动添加
//建议自己手动加上 super.init
// super.init()
}
}