美文网首页
学习swift (第六天)

学习swift (第六天)

作者: RDPCode | 来源:发表于2016-10-14 00:14 被阅读6次

    前言

    人一旦懒了就是非常可怕的事情,希望自己以后要更加勤奋。

    正文

    一 、结构体 (Struct)

    Swift 结构体是构建代码所用的一种通用且灵活的构造体。

    我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。

    例子一

    struct Person {

    var name :String

    var age:Int

    func printData(){

    print("name =\(self.name) age =\(self.age)")

    }

    }

    var xiaoming :Person=Person(name:"小明", age:15)

    xiaoming.printData()

    二、类(Class)

    classPerson {

    varname :String=""

    varage:Int=0

    init(name :String, age :Int){

    self.name= name

    self.age= age

    }

    funcprintData(){

    print("name =\(self.name) age =\(self.age)")

    }

    }

    varxiaoming =Person(name:"小明", age:16)

    xiaoming.printData()

    三、总结

    从代码来看Struct 跟 class 基本结构代码是没有什么区别。

    但是他们两者却有本质区别

    先说他们相同点

    相同

    1,定义属性用于存储值

    2,定义方法用于提供功能

    3,定义附属脚本用于访问值

    4,定义构造器用于生成初始化值

    5,通过扩展以增加默认实现的功能

    6,符合协议以对某类提供标准功能

    不同

    1,继承允许一个类继承另一个类的特征

    2,类型转换允许在运行时检查和解释一个类实例的类型

    3,解构器允许一个类实例释放任何其所被分配的资源

    4,引用计数允许对一个类的多次引用

    以我的理解就是结构体没有面向对象三大特性(封装,继承,多态),而且结构体是值引用,对象是地址引用(iOS是引用计数)

    欢迎大家提出自己的意见 以及对我个人的批评

    相关文章

      网友评论

          本文标题:学习swift (第六天)

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