• swift类和结构体004-类和结构体基本使用


    //: Playground - noun: a place where people can play
    
    import UIKit
    
    //----类和结构体------//
    
    //1.结构体的定义
    struct Size {
        
        //结构体中的属性,给定默认值
        var width = 375
        var height = 667
        
        //Swift的结构体中可以定义方法,与C、OC不同
        func show() {
            
            print("((width):(height))")
        }
        
    }
    
    var size = Size() //结构体的构造方法来构建一个结构体实例
    print(size.width)
    print(size.height)
    
    size.show()
    
    //2.类的定义
    class Person {
        
        //类中定义的属性必须进行初始化
        var name:String = ""
        var age:Int = 0
        let sex:Int = 0
        
        //类中方法的定义
        func speak() {
            print("say hello name:(name),age:(age),sex:(sex)")
            
        }
        
    }
    
    //创建实例
    let kathy = Person()
    kathy.speak()
    
    kathy.name = "Kathy"
    kathy.age = 10
    //kathy.sex = 1
    kathy.speak()
    
    //3.类中的属性可以是一个结构体变量
    class View {
        
        var opacity = 1.0
        var name = ""
        
        
        var viewSize = Size()
        
        
    }
    var myView = View()
    
    //Swift允许设置类中结构体属性的子属性
    myView.viewSize.width = 480
    
    
    //4.结构体和类的区别
    
    //(1)结构体有对应的逐一构造器
    var size2 = Size( 320, height: 240)
    
    size2.show()
    
    //而类中没有相应的构造器
    var myView2 = View()
    
    //(2)结构体和枚举都是值类型,而类是引用类型
    var size3 = size2
    size2.width = 480
    size2.show()
    size3.show()
    
    var mark = Person()
    mark = kathy
    
    //mark.speak()
    //kathy.speak()
    kathy.age = 30
    kathy.speak()
    mark.speak()
    
    //类的实例的内存管理仍然使用ARC
    
    //5.===运算符:用来判断变量或者常量是否引用同一个实例,仅用于引用类型
    //!==运算符
    if mark  === kathy {
        
        print("引用同一个实例")
    }
    
    //===和==,==两个实例的值是否相等,===表示是否引用同一个实例
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付
    阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践
    4 个概念,1 个动作,让应用管理变得更简单
    从零开始入门 | Kubernetes 中的服务发现与负载均衡
    最佳实践 | 数据库迁云解决方案选型 & 流程全解析
    Thumbnail 图片帮助
    验证码-WebVcode
    访问者(Visitor)模式
    享元(Flyweight)模式
    中介者(Mediator)模式
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5566259.html
Copyright © 2020-2023  润新知