结构体和类

使用规则

类可以继承,结构体不可以

包括结构体在内的值类型在传递时总会被复制

在类的方法或者属性前面添加关键字final,可阻止子类进行重写

子类重写类方法或者属性必须添加关键字override

类型方法

对于值类型,要声明类型方法需要使用关键字static
对于类,要声明类型方法需要使用关键字class,但是如果想要禁止子类重写类型方法,可以使用static替代class关键字或者在class前面添加关键字final

类型方法中可以调用别的类型方法,也可以使用类型属性,但是不能够调用实例方法和实例属性

mutating

如果一个值类型(结构体或者枚举)的方法需要修改其属性,该方法就必须标记为mutating,原因如下:
mutating方法的第一个参数是self,并且以inout的形式传入,可以在方法内部修改self的属性值
如果不使用mutating关键字,则使用默认形式传入self参数,如果self是值类型,也实际传入的是self的拷贝,所以即使修改了属性值也跟self没关系,所以编译器将这种情况标记为错误。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值