类定义的关键字是 class
,我们用 class
+ 类名
+ “ :
“ + 父类
,比如定义一个 Person
类,类中去声明和定义变量和函数:
classPerson:NSObject{ var name: String var age : Int public funcsayHello(){ print("Hello ~") } }
属性的 getter
和 setter
的关键词是 get
和 set
,在 setter
中新值是 newValue
classPerson:NSObject{ var age : Int{ get{ return 12 } set{ if newValue > 0 { self.age = newValue }else{ self.age = 12 } } } }
类对象的实例和访问:
var person = Person() person.sayHello() person.age = 10
我们可以给 Person
写一个构造函数:
init(name: String) { self.name = name }
这样我们就可以用 name
来实例化一个对象: var person = Person(name:"Tom")
与构造函数对应的是析构函数: deinit
除了构造和析构函数,类还有实例的私有函数、公共函数和静态函数。
对于类而言的修饰词与权限:
修饰词 | 权限 |
---|---|
open
|
修饰的类可以随意继承与访问 |
public
|
修饰的类只能在本文件内被继承,但是可以随便访问 |
fileprivate
|
是文件外部不能被访问 |
private
|
是文件内部不能被访问 |
final
|
是文件内部也不能被继承 |
函数也是同样的修饰词和权限,只是类的继承对应函数的重载权限。
函数除了以上几个,常用的修饰词还有 static
和 override
。
static
修饰的是类方法。 override
修饰的是重载父类的方法。