Swift -- 7.1 面向对象简介

swift的面向对象特性

虽然我学过c#,也学过java,但是,现在脑子里几乎想不起来关于他们的东西了OTZ

swift可以定义三种面向对象类型:类, 枚举, 结构体

虽然都是面向对象类型,但是只有类是引用类型,枚举和结构体依然是值类型

也就是说,类的传值复制的是指针,而枚举和结构体的传值复制的是对象本身

 

为什么有了类还有再定义枚举和结构体这种类型呢(枚举和结构体虽然是面向对象类型,却是值类型,使用起来性能不一样)

 

面向对象类型有三大特性:封装,继承,多态

封装就是把外界不需要的属性和方法隐藏起来,只提供部分接口来让外界来使用

继承很好理解,swift仅支持单继承,然后提供了协议来弥补这个缺点

多态还不知道怎么回事

 

结构体和枚举在c语言中并没有面向对象的特性,但是swift重新定义了他们,并且赋予了他们面向对象的功能

swift中,实例和对象是不同的,只有类的实例才能被

定义了swift的任意类型之后,大致可以从5个方面来使用该类型:

1 声明变量

2 创建实例,但是枚举不能随意的创建实例,只能使用定义枚举时定义好的实例

3 访问类型属性

4 调用类型方法

5 派生子类。但是swift只有类才支持继承,枚举和结构体都不支持继承,因此枚举和结构体都不能派生子类

 

posted @ 2016-06-16 14:38  电蚊拍  阅读(164)  评论(0编辑  收藏  举报