Swift-结构体的实例变量以及成员方法,结构体与类的区别

结构体的实例变量以及成员方法,结构体与类的区别

/*
 1、结构体定义,实例和属性访问
 struct Rect-C {
    Double width;
    Double height;
 };
 */
print("1、结构体定义")
//struct关键字
//struct Rect {
//    var width:Double = 0.0
//    var height:Double = 0.0
//    //成员方法可以访问使用成员属性
//    func getWidth() -> Double {
//        return width
//    }
//    //和C、OC不一样:swift结构体中还可以有成员方法
//    func show(){
//        print("width=\(width),height=\(height)")
//    }
//}

/*
 class 类名称 {
 }  基本和结构体一致,class关键字
 */
class Rect {
    var width:Double = 0.0
    var height:Double = 0.0
    //成员方法可以访问使用成员属性
    func getWidth() -> Double {
        return width
    }
    //和C、OC不一样:swift结构体中还可以有成员方法
    func show(){
        print("width=\(width),height=\(height)")
    }
}

//结构体逐一成员构造器
var rect:Rect = Rect()//Rect(width:5,height:5)
//print("\(rect.width),\(rect.height)")

//成员方法的调用语法 --  对象.方法()
rect.getWidth()

//rect.width = 10
//rect.height = 10
//print("\(rect.width),\(rect.height)")


//struct结构体:rect1和rect是两个不同的实例,但是内容一致(拷贝)
//class类:rect1和rect指向同一块内存(引用了同一个实例,不会拷贝)
var rect1 = rect//给结构体赋值,内容完全一样
rect.width = 10
rect.height = 10
rect.show()
rect1.show()

//类是引用类型,结构体是值类型
//===或者!== 三个===恒等于(等价),只可以应用于类的实例
if rect1 === rect{
    print("equal")
}

结构体:


类:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值