Started Definition Syntax in Chapter 09
This commit is contained in:
@ -3,4 +3,40 @@
|
|||||||
|
|
||||||
与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口。
|
与其他编程语言所不同的是,Swift 并不要求你为自定义类和结构去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类或者结构体,系统将会自动生成面向其它代码的外部接口。
|
||||||
|
|
||||||
> 通常一个`类`的实例被称为`对象`。然而在Swift 中,类和结构体的关系要比在其他语言中更加的密切,本章中所讨论的大部分功能都可以用在类和结构体上。因此,我们会主要使用`实例`而不是`对象`。
|
> 通常一个`类`的实例被称为`对象`。然而在Swift 中,类和结构体的关系要比在其他语言中更加的密切,本章中所讨论的大部分功能都可以用在类和结构体上。因此,我们会主要使用`实例`而不是`对象`。
|
||||||
|
|
||||||
|
### 类和结构体之比较
|
||||||
|
Swift 中类和结构体有很多共同点。共同处在于:
|
||||||
|
|
||||||
|
* 定义属性用于储存值
|
||||||
|
* 定义方法用于提供功能
|
||||||
|
* 定义下标用于通过下标语法访问值
|
||||||
|
* 定义初始化器用于生成初始化值
|
||||||
|
* 通过扩展以增加默认实现的功能
|
||||||
|
* 符合协议以对某类提供标准功能
|
||||||
|
|
||||||
|
更多信息请参见 [属性](http://),[方法](http://),[下标](http://),[初始化](http://),[扩展](http://),和[协议](http://)。
|
||||||
|
|
||||||
|
与结构体相比,类还有如下的附加功能:
|
||||||
|
|
||||||
|
|
||||||
|
* 继承允许一个类继承另一个类的特征
|
||||||
|
* 类型转换允许在运行时检查和解释一个类实例的类型
|
||||||
|
* 取消初始化器允许一个类实例释放任何其所被分配的资源
|
||||||
|
* 引用计数允许对一个类的多次引用
|
||||||
|
|
||||||
|
更多信息请参见[继承](http://),[类型转换](http://),[初始化](http://),和[自动引用计数](http://)。
|
||||||
|
|
||||||
|
>结构体总是通过被复制的方式在代码中传递,因此请不要使用引用计数。
|
||||||
|
|
||||||
|
### 定义
|
||||||
|
类和结构体有着类似的定义方式。我们通过关键字`class`和`struct`来分别表示类和结构体,并在一对大括号定义它们的具体内容:
|
||||||
|
|
||||||
|
class SomeClass {
|
||||||
|
// class definition goes here
|
||||||
|
}
|
||||||
|
struct SomeStructure {
|
||||||
|
// structure definition goes here
|
||||||
|
}
|
||||||
|
|
||||||
|
>
|
||||||
Reference in New Issue
Block a user