美文网首页swift学习笔记
第九章 类和结构体

第九章 类和结构体

作者: 运柱 | 来源:发表于2017-07-15 06:01 被阅读0次

c++中,结构体是稍有不同的类,类能做的,结构体也可以;

而swift中,结构体与类有较大区别,

结构体与类的区别:

1、结构体不可以继承;

2、结构体没有析构器,结构体实例和所有的值类型变量一样,内存自动分配、自动释放,由操作系统管理,不由程序员控制;

3、类采用自动引用技术机制来管理资源;

4、类可以进行类型检查和类型转换。

结构体和枚举是值类型(包括所有的基本类型都是值类型),类是引用类型,引用类型定义了一个实例进行赋值、

或者作为参数传递给函数时,值不会拷贝,只是引用,任何改变都会影响原来的实例。值类型和引用类型的常量是有区别的,

值类型常量,不可以修改属性,不可以赋值新的实例;引用类型常量,可以修改属性,不可以赋值新实例。

在c++中,没有引用类型,默认都是值类型,除非是有意为之。(将拷贝构造函数和赋值运算符声明为私有类型,显示定义构造函数和虚析构函数)

c++有访问类型public、private、pretected,swift也有访问控制,但是和c++的有很大不同,默认情况下,是internal内部访问控制级别,在同一模块内可以直接访问属性和方法,也即可以直接对属性赋值。

由于有引用类型的概念,swift提供了等价于“===”、不等价于“!==”运算符,用于检测两个常量或变量是否引用同一实例。

相关文章

  • 类和结构体

    类与结构体 本节内容包括: 类和结构体对比 结构体和枚举是值类型 类是引用类型 类和结构体的选择 集合类型的赋值与...

  • C语言 第九章 结构体

    [TOC] 第九章结构体 结构体的定义 结构体定义2 指针表示结构体

  • Swift Tour Learn (六) -- Swift 语法

    Swift语法基础(五)-- (类和结构体、属性、方法) 本章将会介绍 类和结构体对比结构体和枚举是值类型类是引用...

  • swift基础_结构体和类

    一.结构体和类 结构体张这个样子 类张这个样子 二.结构体和类的区别 针对结构体, 即使你没有定义函数,编译器也会...

  • Day9 类和结构体

    本页包含内容:• 类和结构体对比• 结构体和枚举是值类型• 类是引用类型• 类和结构体的选择• 字符串、数组、和字...

  • Swift学习_基本语法之枚举&类&结构体

    1.枚举 类和结构体 在swift中类和结构体类似,可以把结构体理解成是一种轻量级的类,在swift中结构体不仅可...

  • swift面向对象特性——类和结构体

    类和结构体的定义 类的语法格式为: 结构体的语法格式为: Swift中类和结构体的名称都以大写字母开头。类的方法和...

  • SwiftUI-结构体与类

    一.结构体与类 结构体和类都可以使用属性和方法构建复杂数据类型,但是什么时候使用结构体,什么时候使用类呢?结构体和...

  • Swift5.1类和结构体

    9.类和结构体 结构体和类相比Swift中结构体和类的共同点:- 定义属性⽤于存储值- 定义方法⽤于提供功能- 定...

  • Swift笔记<十五>结构体和类的区别

    结构体和类的区别 结构体有逐一构造器,类没有 结构体是值类型,类是引用类型 结构体不是继承(意味着没有多态)

网友评论

    本文标题:第九章 类和结构体

    本文链接:https://www.haomeiwen.com/subject/oilahxtx.html