学Swift挣美元06之类 续篇再说class
本系列教程
- 请点击,免费订阅《学Swift挣美元》专栏
- 《2019年学好Swift,一起挣美金吧》
- 《学Swift挣美元01之Swift语言发展历史》
- 《学Swift挣美元02之学习资源》
- 《学Swift挣美元03之第一个程序》
- 《学Swift挣美元04之基础类型(来个古诗程序)》
- 《学Swift挣美元05之函数(游戏里的组合拳)》
- 《学Swift挣美元06之类(九阳神功)》
- 《学Swift挣美元06之类 续篇再说class 》
上篇文章我们从感官上体验一下什么类,本文将带领大家深入了解一下class。
class
在Swift世界里我们通过class关键词来定义一个类。一个类的名称首字母约定俗成为大写英文字母,类的实现(类的身体)被包裹在一对大括号中。如下
class Poetry {
// . . .
}
属性
一个object(对象)可以包含多个属性,每个属性可以拥有初始值。如果使用let定义的属性,一定设置了初始值就不能再改变了。
例如下面代码
let定义属性并给初始值
let定义属性并给初始值报错
报错修改成var就OK了
var定义属性定义完成后,我们需要告诉编译器如何初始化这些属性。如果不写初始化方式,编译器就给您告警。下面是初始化代码
init(authorName:String,title:String,body:String){
self.authorName=authorName
self.title=title
self.body=body;
}
注意:编译器需要知道所以非optional属性的初始化方式。
init 是一类特殊的函数,当一个对象被初始化时系统会自动调用该函数。
displayString 不同于其他的属性,他不是通过简单的数值来初始化的,而且大括号内的表达式赋值的。他的需要计算数值的属性,他数值不是静态的。大括号内必须要return 这个关键词。
方法
属性就好比食材,为了获得美食我们还需要烹饪的方法。类的方法被包裹在类内部,可以访问所有的属性。下面是代码
func fullPoetry() -> String {
return "\(title).\(authorName)\n\(body)"
}
网友评论