1. 建立一个对象 Person.swift
/**
构造函数
1.给属性分配空间
2.设置初始数值
Swift 中构造函数 ’都‘ 是init
*/
class Person: NSObject {
//对象的属性应该是可变的
//可选项,允许变量为空,var 的默认值就是 nil
var name: String
var age: Int
//‘重写’默认的构造函数
// 父类提供了这个函数,而子类需要对父类的函数进行扩展,就叫做重写
// 特点: 可以 super.xxx 调用父类的方法
override init(){
name = "zhangsan"
age = 18
//调用父亲的构造函数
super.init()
}
}
2. 调用函数
//提示: 在Swift 中,默认所有的属性和方法,都是全局共享的,不需要 import,可以直接使用
func demo(){
let p = Person();
print("\(p.name) \(p.age)")
}
3. 子类的构造函数&调用堆栈调试技巧
3.1 创建一个继承 Person 的 Student.swift 对象
class Student: Person {
var no: String
override init() {
print("Student init")
no = "001"
//从 Xcode 7 beta 5 开始,系统会默认声称一个 super.init 方法调用
//建议保留 super.init(),代码的调用线索很清晰
super.init()
}
}
3.2 调用函数
func demo(){
//po self
let p = Student();
print("\(p.name) \(p.age) \(p.no)")
}