学Swift挣美元06之类 续篇再说class

学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定义属性并给初始值

学Swift挣美元06之类 续篇再说class_第1张图片
let定义属性并给初始值

报错

学Swift挣美元06之类 续篇再说class_第2张图片
报错

修改成var就OK了

学Swift挣美元06之类 续篇再说class_第3张图片
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)"
    }

你可能感兴趣的:(学Swift挣美元06之类 续篇再说class)