美文网首页
Swift---9.类和结构体

Swift---9.类和结构体

作者: 阿丶伦 | 来源:发表于2017-02-27 18:01 被阅读8次
  • 类与结构体(Swift中,类定义后,所有相关的文件都能使用这个类,即我们不需要导入该类)
    • 定义与实例化
    class aClass {
    
    }
    struct AStructure {
    
    }
    var aStru = AStructure()
    var aClas = aClass()
    
    • 属性(与OC相同,使用.可以对类属性进行getter和setter)
    class aClass {
        var name:String?
    }
    var aClas = aClass()
    aClas.name = "class"
    if aClas.name != nil {
        print("the name of aClas is \(aClas.name!)")
    }
    
    • 便利构造器(结构体自带,而类没有)
    struct AStructure {
        var number = 0
        var grade = 0
    }
    var aStru = AStructure(number: 10, grade: 5)
    print("this stu is in grade \(aStru.grade) and his/her number is \(aStru.number)")
    
  • 类和结构体的区别
    • 类属于引用类型
      • 引用类型:Class,闭包属于引用类型,当我们使用引用类型赋值时,引用的是实例本身,而不是副本,也就是我们对新的实例操作,也会影响引用的实例
      class aClass {
          var name:String?
      }
      var aClas = aClass()
      aClas.name = "aclass"
      var bClas = aClas
      bClas.name = "bclass"
      if aClas.name != nil {
          print("the name of aClas is \(aClas.name!)")
      }
      
    • 结构体属于值类型
      • 值类型:String,Int,Float等Swift基本数据类型为值类型,当每次我们使用值类型赋值时,会生成一个拷贝副本,两者之间完全不相干
      struct AStructure {
          var number = 0
          var grade = 0
      }
      var aStru = AStructure(number: 10, grade: 5)
      var bStru = aStru
      bStru.grade = 6
      print("the a grade \(aStru.grade),the b grade \(bStru.grade)")
      

相关文章

  • Swift---9.类和结构体

    类与结构体(Swift中,类定义后,所有相关的文件都能使用这个类,即我们不需要导入该类)定义与实例化class a...

  • 类和结构体

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

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

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

  • swift基础_结构体和类

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

  • Day9 类和结构体

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

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

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

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

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

  • SwiftUI-结构体与类

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

  • Swift5.1类和结构体

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

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

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

网友评论

      本文标题:Swift---9.类和结构体

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