Swift语言 快速基础入门 (2)

前端之家收集整理的这篇文章主要介绍了Swift语言 快速基础入门 (2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文章出处:http://blog-cn.jiazhewang.com/swift%E8%AF%AD%E8%A8%80-%E5%BF%AB%E9%80%9F%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8-2/


本文根据《The Swift Programming Language》一书 “A Swift Tour”章节进行了简单地翻译,并加入了一些我个人的实验记录和想法,以求用比较快的速度熟悉 Swift 语言的语法和特性。

本文内容分为两部分,本页是第(2)部分,第一部分请点此浏览:Swift语言 快速基础入门 (1)

对象和类 Objects and Classes

使用class关键字来声明一个类,关键字之后跟着的是类名。类的属性声明和常量以及变量的声明方式完全想通,唯一不同的是他们被声明在类的大括号内。同样的,方法函数的声明也是如此。

要创建一个类的实例,我们可以在类名后加上括号,比如下面例子中那样。我们可以使用“点语法”(dot Syntax)来直接访问实例的属性方法

这个版本的 Shape 方法很不靠谱,因为缺少了一个很重要的东西:一个用来设置初始值的方法。我们通常称之为构造函数(constructor、initializer)。在 Swift 中,我们默认通过类中命名为init方法来作为这个类的构造函数

NamedShape {
var numberOfSides : Int 0
name : String
init ( name : String {
self . name name
}
{
"A shape with (numberOfSides) sides."
}
@H_176_301@注意self是如何被用来区分 name 这个类的属性和 name 这个参数的。第6行中,后面的name 是 init 这个构造函数的参数,而这个参数被传给了 self.name 这个类的属性

当你创造一个实例的时候,像函数调用参数一样直接给构造器直接传入参数。每一个类的属性都要被赋值,不管是通过直接声明的方式(就像 numberOfsides)还是通过构造函数(就像name)。

如果你还需要在删除对象之前进行一些清理工作,可以使用命名为deinit的类内方法来创建一个析构函数(deinitializer)。

继承——子类和父类

声明子类的方式是在其类名后面写一个冒号,后面跟上父类的名字。由于没有必要继承任何标准的根类,所以我们可以根据实际需要来选择继承或者省略父类

子类中的方法如果重写了父类方法,在声明前加关键字override来标明。如果没有标明的话,会被编译器报错。编译器同样会检测标明了重写但是实际根本没有重写的方法