1.创建Person类文件,继承NSObject
2.创建Student类文件,继承自Person(父类)
3.在ViewController中实现以下方法
/**
在swift的同一个项目中(同一个命名空间下),所有的类都是共享的,可以直接访问,不需要import
所有对象的属性 var,都可以直接访问到
*/
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//实例化 Person
//()-> alloc init
//Swift中对应一个函数 init()构造函数
//作用 : 给成员变量分配空间,初始化成员变量
// let p = Person()
//子类继承父类的方法与属性
let s = Student()
//name 归属于 Student
print(s.name + "-----" + s.no)
}
}
4.在Person(父类)中实现以下方法
/**
1.给自己的属性分配空间并设置初始值
2.调用父类构造函数,给父类属性分配空间,并设置初始值
NSObject没有属性,只有一个成员变量 'isa'
与OC方法相反
*/
class Person: NSObject
{
var name :String
//重写Person的构造函数
//重写 -> 父类这个方法,自雷重写实现,需要override关键字
override init()
{
print("Person init()")
name = "zhan"
//在调用父类方法之前,需要给属性初始化
super.init()
}
}
5.在Student(子类)中实现以下方法
class Student: Person {
var no : String
override init() {
print("Student init()")
no = "001"
super.init()
}
}